用 kubeadm --config 建立 k8s 叢集
用 kubeadm –config 建立 k8s 叢集
(金慶的專欄 2018.5)
利用阿里雲的yum映象和docker映象,可以不用代理直接安裝建立 k8s 叢集。
K8s 版本為 v1.10.3
參考:
https://blog.csdn.net/u010209217/article/details/78533936
Kubernetes 1.7.5部署以及kubernates-dashboard 1.7安裝
https://www.cnblogs.com/liangDream/p/7358847.html
CentOS7.3利用kubeadm安裝kubernetes1.7.3完整版(官方文件填坑篇)
https://yq.aliyun.com/articles/66474
阿里雲快速部署Kubernetes - VPC環境
Docker 已安裝。
採用阿里雲的yum源映象,直接安裝:
yum -y install kubectl kubeadm kubelet
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf, 為kubelet新增一個額外的引數,
這樣kubelet就不會在啟動pod的時候去牆外的k8s倉庫拉取pause-amd64:3.0映象了
–pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0
export KUBE_REPO_PREFIX 的方式指定kube映象庫已在1.8版本後無效,需要改為配置檔案中配置 imageRepository。
kubeadm.yaml 示例:
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:
advertiseAddress: "10.20.79.10"
networking:
podSubnet: "10.244.0.0/16"
kubernetesVersion: "v1.10.3"
imageRepository: "registry.cn-hangzhou.aliyuncs.com/google_containers"
初始化命令為:
kubeadm init --config kubeadm.yaml
其他注意點:
需要開啟 kubelet.service, 不然檢查會報警告:
systemctl enable kubelet && systemctl start kubelet
需要關閉 swap:
[ERROR Swap]: running with swap on is not supported. Please disable
swap
swapoff -a
可以檢視 ls -ltr /etc/kubernetes/manifests/
yaml檔案列表,每個檔案都會寫著映象的地址和版本
[ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists
[ERROR Port-10250]: Port 10250 is in use
kubeadm會自動檢查當前環境是否有上次命令執行的“殘留”。如果有,必須清理後再行執行init。我們可以通過”kubeadm reset”來清理環境,以備重來。
journalctl -xeu kubelet
用來檢視kubelet執行有什麼錯誤。
failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs"
需要修改 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload && systemctl restart kubelet