概述
安裝 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
