Debian安装k8s记录

Debian安装k8s记录

在master和node上安装kube

bash 复制代码
apt-get update && apt-get install -y apt-transport-https
# 添加key
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg > /etc/apt//etc/apt/trusted.gpg.d/aliyun-kubernetes.asc

# 添加软件源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

# 执行更新并安装
apt-get update
apt-get install -y kubelet kubeadm kubectl

安装master

bash 复制代码
cat <<EOF >/etc/default/kubelet
KUBELET_EXTRA_ARGS="--pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6"
EOF

# 关闭swap
sudo swapoff -a

# 初始化
sudo kubeadm init --kubernetes-version v1.27.4 --image-repository registry.aliyuncs.com/google_containers --apiserver-advertise-address 0.0.0.0 --service-cidr 10.1.0.0/16 --pod-network-cidr 10.2.0.0/16

# 安装pod网络
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

这时,master应该就安装完成了

安装node

bash 复制代码
sudo kubeadm join 192.168.8.5:6443 --token XXXXXX.XXXXXXXXXXXXXXXX --discovery-token-ca-cert-hash sha256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

其中token和hash来自master初始化最后的输出,地址和端口是master的apiserver,也可以在master节点通过下述命令获得完整命令

bash 复制代码
kubeadm token create --print-join-command

遇到的问题汇总

1、kubelet.service报错 failed to pull image "registry.k8s.io/pause:3.6"

bash 复制代码
# 生成containerd默认配置
containerd config default  > /etc/containerd/config.toml

#修改/etc/containerd/config.toml
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.6"

# 重启containerd.service、kubelet.service
systemctl daemon-reload
systemctl restart containerd.service
systemctl restart kubelet.service

2、node重启后报错,failed: open /run/flannel/subnet.env: no such file or directory

添加文件/run/flannel/subnet.env,添加一下内容,注意网络与kubectl init中的一致

bash 复制代码
FLANNEL_NETWORK=10.2.0.0/16
FLANNEL_SUBNET=10.2.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

目前了解到的方法只有手动添加,不知道怎么自动化生成

相关推荐
乌恩大侠34 分钟前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi38 分钟前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师1 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
草邦设计开发团队_媒体资源平台1 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily1 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
mengge.cloud1 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
云贝贝贝2 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
小五传输2 小时前
FTP替代怎么做?医院文件安全传输选型与迁移指南
大数据·运维·安全
金智维科技官方2 小时前
财务核算如何提效?这三条核心链路正在加速自动化
运维·人工智能·ai·自动化·财务·智能体
Eloudy3 小时前
debian 包 .deb 的构成、制作和解压(不安装)
debian