k8s服务初始化记录
-
安装k8s工具
-
设置自动完成
kubeadm completion bash > /etc/bash_completion.d/kubeadm kubectl completion bash > /etc/bash_completion.d/kubectl -
/etc/docker/daemon.json{ "registry-mirrors": [ "https://hub.geekery.cn/", "https://ghcr.geekery.cn" ] } -
修改 containerd 默认设置
containerd config default > /etc/containerd/config.toml修改
SystemdCgroup = true修改
sandbox_image = "registry.k8s.io/pause:3.10"版本根据
kubeadm config images list的值而定设置完成后重启
systemctl restart containerd -
执行k8s初始化, IP根据下一步中的配置文件(kube-flannel.yml)中的
net-conf.json.NetWork而定 IP说明可选步骤, 提前拉取k8s用的镜像
#!/bin/bash REPO=registry.cn-hangzhou.aliyuncs.com/google_containers REPO_LEN=${#REPO} K8SREPO=registry.k8s.io kubeadm config images pull --image-repository "${REPO}" for full_name in $(kubeadm config images list --image-repository "${REPO}") ; do name=${full_name:${REPO_LEN}} if [ "${name#/coredns}" != "${name}" ]; then name="/coredns$name" fi ctr -n k8s.io image tag "${full_name}" "${K8SREPO}$name" done初始化集群
kubeadm init --pod-network-cidr 10.244.0.0/16 -
下载网络插件镜像 flannel仓库
下面命令使用的镜像, 可以自己下载, 版本根据
kube-flannel.yml而定for x in docker.io/flannel/flannel:v0.26.1 docker.io/flannel/flannel-cni-plugin:v1.5.1-flannel2; do echo $x docker pull $x docker save $x | ctr --namespace k8s.io images import - done -
安装网络插件
开启内核模块
modprobe br_netfilter持久开启
echo br_netfilter > /etc/modules-load.d/k8s.confkubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml如果多节点集群网络不通, 修改网络插件配置文件如下: 增加参数
--iface=enp0s8containers: - args: - --ip-masq - --kube-subnet-mgr - --iface=enp0s8 command: - /opt/bin/flanneld -
根据上一步命令的结果, 设置配置文件
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config -
查看结果
kubectl get nodes视情况移除主机的污点
kc taint node --all node-role.kubernetes.io/control-plane- -
防火墙和端口 文档
要么直接关闭, 要么把上述端口加到防火墙. 要不然 coredns pod启动不了.
-
注意关闭交换分区
swapoff --all -
安装网络插件calico
-
给k8s拉取镜像
#!/bin/bash IMG_NAME=$1 docker pull $IMG_NAME docker save $IMG_NAME | ctr --namespace k8s.io images import -