基礎環境
docker
關防火牆
sudo ufw disable
關閉系統 swap
用vi修改/etc/fstab文件,在swap分區這行前加 # 禁用掉,保存退出
K8S 環境
添加 K8s 安裝密鑰
先執行
apt-get update && apt-get install -y apt-transport-https
然后執行
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
配置 K8S 源
sudo touch /etc/apt/sources.list.d/kubernetes.list
新增源
sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >> /etc/apt/sources.list.d/kubernetes.list
安裝 kubeadm 及 kubelet 等工具
apt-get update
更新完安裝
apt install -y kubelet=1.15.4-00 kubectl=1.15.4-00 kubeadm=1.15.4-00
//安裝指定的版本
配置kubelet禁用swap
tee /etc/default/kubelet <<-'EOF'
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
EOF
systemctl daemon-reload && systemctl restart kubelet
初始化k8s
kubeadm init \
--kubernetes-version=v1.15.4 \
--image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=10.24.0.0/16 \
--ignore-preflight-errors=Swap
配置非 root 的操作
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
coredns 問題解決
這個時候可以查看 pod 狀態了,K8S 已經啟動了支持服務,其中有 coredns 服務可能一直處於 pending 狀態,那么我們需要做如下操作
執行
kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml
這樣我們會安裝 calico 網絡插件,其實 flannel 也可以的哈哈。。
這次查看 pod 狀態
kubectl get pods --all-namespaces
Master 隔離解除
kubectl taint nodes --all node-role.kubernetes.io/master-
參考
https://www.cnblogs.com/xiaochina/p/11650520.html
https://ld246.com/article/1576828437326