我正在为客户建立一个Kubernetes集群。
我已经多次完成了这个过程,包括处理流浪汉细节,我已经能够不断地让K8s群集运行起来而不用太大惊小怪。
现在,对于这个客户我也是这样做的,但是在设置时我发现了很多问题,这是完全出乎意料的。
与我设置Kubernetes的其他地方相比,我看到的唯一明显区别是我有一个代理服务器,我不断与之斗争。 NO_PROXY
env无法处理的任何内容。
我面临的主要问题是设立运河(Calico + Flannel)。 出于某种原因,在2号和3号大师赛上它不会开始。
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system canal-2pvpr 2/3 CrashLoopBackOff 7 14m 10.136.3.37 devmn2.cpdprd.pt
kube-system canal-rdmnl 2/3 CrashLoopBackOff 7 14m 10.136.3.38 devmn3.cpdprd.pt
kube-system canal-swxrw 3/3 Running 0 14m 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-apiserver-devmn1.cpdprd.pt 1/1 Running 1 1h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-apiserver-devmn2.cpdprd.pt 1/1 Running 1 4h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-apiserver-devmn3.cpdprd.pt 1/1 Running 1 1h 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-controller-manager-devmn1.cpdprd.pt 1/1 Running 0 15m 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-controller-manager-devmn2.cpdprd.pt 1/1 Running 0 15m 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-controller-manager-devmn3.cpdprd.pt 1/1 Running 0 15m 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-dns-86f4d74b45-vqdb4 0/3 ContainerCreating 0 1h <none> devmn2.cpdprd.pt
kube-system kube-proxy-4j7dp 1/1 Running 1 2h 10.136.3.38 devmn3.cpdprd.pt
kube-system kube-proxy-l2wpm 1/1 Running 1 2h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-proxy-scm9g 1/1 Running 1 2h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-scheduler-devmn1.cpdprd.pt 1/1 Running 1 1h 10.136.3.36 devmn1.cpdprd.pt
kube-system kube-scheduler-devmn2.cpdprd.pt 1/1 Running 1 4h 10.136.3.37 devmn2.cpdprd.pt
kube-system kube-scheduler-devmn3.cpdprd.pt 1/1 Running 1 1h 10.136.3.38 devmn3.cpdprd.pt
在查找特定错误时,我发现问题出在kube-flannel
容器上,这会导致错误:
[exXXXXX@devmn1 ~]$ kubectl logs canal-rdmnl -n kube-system -c kube-flannel
I0518 16:01:22.555513 1 main.go:487] Using interface with name ens192 and address 10.136.3.38
I0518 16:01:22.556080 1 main.go:504] Defaulting external address to interface address (10.136.3.38)
I0518 16:01:22.565141 1 kube.go:130] Waiting 10m0s for node controller to sync
I0518 16:01:22.565167 1 kube.go:283] Starting kube subnet manager
I0518 16:01:23.565280 1 kube.go:137] Node controller sync successful
I0518 16:01:23.565311 1 main.go:234] Created subnet manager: Kubernetes Subnet Manager - devmn3.cpdprd.pt
I0518 16:01:23.565331 1 main.go:237] Installing signal handlers
I0518 16:01:23.565388 1 main.go:352] Found network config - Backend type: vxlan
I0518 16:01:23.565440 1 vxlan.go:119] VXLAN config: VNI=1 Port=0 GBP=false DirectRouting=false
E0518 16:01:23.565619 1 main.go:279] Error registering network: failed to acquire lease: node "devmn3.cpdprd.pt" pod cidr not assigned
I0518 16:01:23.565671 1 main.go:332] Stopping shutdownHandler...
我无法理解为什么。
一些相关信息:
我正在用Kubeadm安装所有东西。我注意到的一个奇怪的事情是,在查看配置(kubeadm config view
)时,我在kubeadm config.yaml
(kubeadm init
)上设置的大部分信息都没有出现在配置中view,包括etcd证书的路径。
我也不确定为什么会这样,但我已经通过编辑kubeadm配置图(kubectl edit cm kubeadm-config -n kube-system
)并保存它来修复它(希望如此)。
运河仍然没有运气。
任何人都可以帮我弄清楚出了什么问题吗? 我已经记录了我所完成的配置的每一步,所以如果需要,我可以提供它。
我想我的master2和3确实没有关联的podCIDR。为什么会这样?我该如何添加它?
答案 0 :(得分:0)
尝试编辑:
/etc/kubernetes/manifests/kube-controller-manager.yaml
并添加
--allocate-node-cidrs=true
--cluster-cidr=192.168.151.0/25
然后,重新加载kubelet。
我发现了这些信息here,这对我有用。