2021-6-5 使用kubeadm安装k8s集群
【技巧1】可以使用下列命令导出kubeadm 默认配置文件
kubeadm config print init-defaults
【知识点】kubeadm 默认配置文件需要修改master节点ip,并且默认监控的端口为6443,在集群操作过程中,如果master节点NotReady,执行kubectl 命令就会上报6443端口无法访问。需要检查master节点各组件是否正常运行
[root@master1 ~]# kubeadm config print init-defaults |grep -C 1 '1.2.3.4'
localAPIEndpoint:
advertiseAddress: 1.2.3.4
bindPort: 6443
【技巧3】在安装过程中需要制定pod默认IP范围,如果使用flannel作为网路插件,则默认ip子网为 10.244.0.0/16
[root@master1 ~]# cat kubeadm.yaml |grep -iC 3 'podsubnet'
kubernetesVersion: v1.19.0
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler: {}
[root@master1 yml]# cat kube-flannel.yml |grep -C 3 '10.244'
}
net-conf.json: |
{
"Network": "10.244.0.0/16",
"Backend": {
"Type": "vxlan"
}
【技巧4】kubeadm 是以容器的方式启动集群各组件,在初始化过程中会下载各组件镜像,国内镜像下载慢,会导致初始化失败,所以可以提前下载镜像,使用以下命令会从配置文件制定的镜像库下载镜像
kubeadm config images pull --config kubeadm.yaml
【技巧5】官方镜像库下载会很慢,国内可以指定阿里云
[root@master1 ~]# cat kubeadm.yaml |grep -C 1 imageRepository
dataDir: /var/lib/etcd
#imageRepository: k8s.gcr.io
imageRepository: registry.aliyuncs.com/google_containers
kind: ClusterConfiguration