Kubeadm 安装
- 更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:
sudo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
- 下载用于 Kubernetes 仓库的公共签名密钥
# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
- 添加 Kubernetes apt 仓库
# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
- 更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
配置kubelet
为了实现容器云客地时使用cgroupdriver与kubelet使用cgroup的一致性,修改如下文件内容
vim /etc/default/kubeletKUBELET_EXTRA_ARGS="--cgroup-driver=systemd"
设置Kubelet 为开机自启动
systemctl enable kubelet
K8S集群的初使化(只有Master节点)
获取默认配置文件
kubeadm config print init-defaults > kubeadm-confi.yaml
默认内容的修改说明
- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 1.2.3.4 --修改为当前主机的IP ,例如 172.16.2.100bindPort: 6443
nodeRegistration:criSocket: unix:///var/run/containerd/containerd.sockimagePullPolicy: IfNotPresentname: k8s-master --修改节点名称taints: null
---
apiServer:timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.k8s.io --容器的镜像仓库,有需要就修改
kind: ClusterConfiguration
kubernetesVersion: 1.30.0
networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12podSubnet: 10.244.0.0/16 --添加pod的网段
scheduler: {}
- 下载镜像
kubeadm config images list --查看需要的镜像
kubeadm config images pull --下载镜像
- 查看镜像
crictl images list
- 复制admin.conf文件到当前当前用户的 kube/config 下
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
K8S集群节点加入(Node节点)
根据Master节点初始化后的生成的文件命令,在Node节点中运行Join 语句
kubeadm join 172.16.2.100:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:23a075216e8e0962621f72db5fc79eab1f362cf0bf3c50adbcc5dbc3244ad08c