calico部署與網絡卡繫結

2021-10-22 06:29:14 字數 3293 閱讀 4573

calico部署與網絡卡繫結

calico問題排障

這個問題幾乎每個人都會遇到。因為官方的step by step太傻白甜,沒有把ip_autodetection_method這個ip檢測方法的引數放入calico.yaml中,calico會使用第乙個找到的network inte***ce(往往是錯誤的inte***ce),導致calico把master也算進nodes,於是master bgp啟動失敗,而其他workers則啟動成功。

問題描述

k8s集群安裝網路元件calico後,檢視pod

[ansible@k8s-cp calico]$ kubectl get pod --all-namespaces

namespace name ready status restarts age

kube-system calico-node-jm74b 1

/2 running 0

7m16s

kube-system calico-node-xk4fg 1

/2 running 0

2m5s

kube-system coredns-

7b47b4c577-

447cn 1

/1 running 0

8m27s

kube-system coredns-

7b47b4c577-svm5v 1

/1 running 0

8m27s

kube-system etcd-k8s-cp 1

/1 running 0

7m51s

kube-system kube-apiserver-k8s-cp 1

/1 running 0

8m1s

kube-system kube-controller-manager-k8s-cp 1

/1 running 0

8m4s

kube-system kube-proxy-nzmhh 1

/1 running 0

8m27s

kube-system kube-proxy-pjbp8 1

/1 running 0

2m5s

kube-system kube-scheduler-k8s-cp 1

/1 running 0

7m43s

等待幾分鐘後,pod calico-node-jm74b和calico-node-xk4fg的ready值依然是1/2

檢視pod calico-node-xk4fg的詳細資訊,發現有如下錯誤資訊

warning  unhealthy  11s (x19 over 3m11s)  kubelet,

k8s-agent-

1 readiness probe failed: calico/node is not ready:

bird is not ready: bgp not established with 172.18

.0.1

這個問題會導致部署完業務容器後,網路上有問題,導致業務無法正常訪問。

問題解決

calico在多網路介面時自動檢測到錯誤的網路介面,導致網路無法連通,通過指定網路介面(網絡卡名)解決問題

修改calico.yaml

- name: cluster_type

value:

"k8s,bgp"

下增加兩行

- name: ip_autodetection_method

value:

"inte***ce=enp0s3"

enp0s3是我機器的網絡卡名

重新部署網路元件calico, ready值變為2/2

[ansible@k8s-cp calico]$ kubectl get pod --all-namespaces

namespace name ready status restarts age

kube-system calico-node-jm74b 2

/2 running 0

15mkube-system calico-node-xk4fg 2

/2 running 0

9m51s

kube-system coredns-

7b47b4c577-

447cn 1

/1 running 0

16mkube-system coredns-

7b47b4c577-svm5v 1

/1 running 0

16mkube-system etcd-k8s-cp 1

/1 running 0

15mkube-system kube-apiserver-k8s-cp 1

/1 running 0

15mkube-system kube-controller-manager-k8s-cp 1

/1 running 0

15mkube-system kube-proxy-nzmhh 1

/1 running 0

16mkube-system kube-proxy-pjbp8 1

/1 running 0

9m51s

kube-system kube-proxy-wgz2c 1

/1 running 0

114s

kube-system kube-scheduler-k8s-cp 1

/1 running 0

15mz

Redhat Linux網絡卡配置與繫結

redhat linux的網路配置,基本上是通過修改幾個配置檔案來實現的,雖然也可以用ifconfig來設定ip,用route來配置預設閘道器,用hostname來配置主機名,但是重啟後會丟失。相關的配置檔案 ect hosts配置主機名和ip位址的對應 etc sysconfig network配...

ovs啟動與dpdk繫結網絡卡

ovs 2.9.0 dpdk 17.11.1 每次伺服器重啟後,環境都需要重新設定和啟動,所以把命令記錄下來 啟動ovs export path path usr local share openvswitch scripts export db sock usr local var run ope...

繫結mac位址與網絡卡驅動wlan

按照之前部落格的配置,我們可以在樹莓派上實現雙網絡卡,但是再多次試驗中發現,每次重啟後,網絡卡的順序都可能發生變化,也就是mac位址與wlan的關係不確定。網上很多資料說是修改 etc network inte ces檔案,但這是沒有用的,它只會修改網絡卡的mac位址,而不改變實際的繫結。正確的繫結...