kubeadm 安装 k8s 组件
本篇介绍用 kubeadm 在 ubuntu/centos 上安装 k8s 组件(kubelet/kubeadm/kubectl),以及去除 master 节点污点的方法。
来源:
install/kubernetes/kubeadm/readme.md。
检查所需端口是否占用
apiserver 默认端口 6443,安装前可先检查是否被占用:
nc 127.0.0.1 6443
ubuntu 安装
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://dl.k8s.io/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
centos 安装
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
去除 master 节点污点(让 master 也能调度)
原文此节标题为「使用 kubekey 来部署」,但内容是 kubeadm/kubekey 部署后通用的去污点操作。若用 KubeKey 部署,参考《KubeKey 部署 CubeStudio 总览》。
查看 master 节点的污点:
kubectl describe node <master-node-name> | grep Taints
去除 master 节点的污点,这样让 master 也能调度:
kubectl taint node <master-node-name> node-role.kubernetes.io/master:NoSchedule-