kubelet service文件
在kubelet的service文件中,有下面两行配置信息:
After=containerd.service
Requires=containerd.service
其中After确保kubelet在containerd启动后再启动,Requires确保containerd必须已经在正常运行了才能启动kubelet。
配置这两行信息的原因是kubelet的启动时会根据kubelet的配置信息去找容器的sock借口,如果找不到借口就无法启动,会有如下报错。
因此,只有正确配置了上面两行内容,kubelet才能正常启动。配置的参数项是kubernetes集群所使用的容器运行时。(如docker,containerd,CRI-O等)
集群中的地址分配相关
集群中的地址分配主要是在kube-apiserver的配置文件中进行配置,核心配置是下面这个参数项
--service-cluster-ip-range=10.245.0.0/16 \
这个参数规定了集群中所有的service(服务)使用10.245地址段的ip地址。
此外,service-node-port-range=30000-32767 是指创建NodePort类型的Service时,Kubernetes 会从 --service-node-port-range 指定的范围内自动分配一个端口。
在kube-apiserver的配置配置文件中指定了IP地址段之后,还要在kube-controller-manger中进行对应的配置。
核心参数是下面两项。
--service-cluster-ip-range=10.245.0.0/16 \
--cluster-cidr=10.244.0.0/16 \
其中,service-cluster-ip-range指定的是service服务所使用的IP地址段,与kube-apiserver中的配置应该相同。注意这个地址段不能与节点物理网络、Pod 网络或其他私有网络重叠
cluster-cidr指定的是创建pod时,pod可以分配到的IP地址范围。注意这个地址段要与calico等网络插件的地址段配置一致,否则会造成pod间无法正常通信。
calico网络插件对应的配置项
- name: CALICO_IPV4POOL_CIDR
value: "10.244.0.0/16"
在kube-proxy中也有pod地址段相关的配置,需要确认与上面的配置相同。
--cluster-cidr=10.244.0.0/16"
评论 (0)