概述
安裝 kubernetes 主要是安裝它的各個鏡像,而 kubeadm 已經為我們集成好了運行 kubernetes 所需的基本鏡像。但由於國內的網絡原因,在搭建環境時,無法拉取到這些鏡像。此時我們只需要修改為阿里雲提供的鏡像服務即可解決該問題。
創建並修改配置
在 /user/local/docker/kubernetes/
目錄下執行
# 導出配置文件 kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml
# 修改配置為如下內容 apiVersion: kubeadm.k8s.io/v1beta1 bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication kind: InitConfiguration localAPIEndpoint: # 修改為主節點 IP advertiseAddress: 192.168.141.130 bindPort: 6443 nodeRegistration: criSocket: /var/run/dockershim.sock name: kubernetes-master taints: - effect: NoSchedule key: node-role.kubernetes.io/master --- apiServer: timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta1 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controlPlaneEndpoint: "" controllerManager: {} dns: type: CoreDNS etcd: local: dataDir: /var/lib/etcd # 國內不能訪問 Google,修改為阿里雲 imageRepository: registry.aliyuncs.com/google_containers kind: ClusterConfiguration # 修改版本號 kubernetesVersion: v1.15.3 networking: dnsDomain: cluster.local # 配置成 Calico 的默認網段 podSubnet: "192.168.0.0/16" serviceSubnet: 10.96.0.0/12 scheduler: {} --- # 開啟 IPVS 模式 apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration featureGates: SupportIPVSProxyMode: true mode: ipvs
查看和拉取鏡像
# 查看所需鏡像列表 kubeadm config images list --config kubeadm.yml # 拉取鏡像 kubeadm config images pull --config kubeadm.yml
kubeadm init --config=kubeadm-config.yaml