記錄:一次使用私有LoadBalance provider,工具metallb的故障排除

     使用metallb工具,目的是爲私有環境下,不借助GRE或Azure等雲商的LB,nginx

經過metallb-system工具IP池給k8s service提供external-ip。可是,因爲設置metallb網段和k8s物理網段相同,git

致使物理網絡中已經使用的ip(好比192.168.3.1)被重複分配給k8s service。github

這樣,就致使了k8s 物理網絡沒法訪問外網internet。網絡

 

如下是具體的檢查步驟和處理辦法:工具

 

step 1:spa

首先刪除metal-system命令空間下的全部資源(service/deployment/configmap/ns等)blog

root >> kubectl delete namespace metallb-systemip

 

step 2:資源

查詢可能已經分配錯誤external-ip的服務service,而後先刪除這些服務get

root >> kubectl get service --all-namespaces

root >> kubectl delete service {svc_name} -n {ns_name}

 

step 3:

重啓舊的ingress-nginx-controller的pod,能夠用delete pod方式實現。

root >> kubectl delete pod {ingress-nginx-controller_podname} -n ingress-nginx

 

step 4:

從新檢查k8s機器和外網的互通,檢查OK以下:

 

 

附錄:

我記錄在github的issue和本身處理的方法:

https://github.com/danderson/metallb/issues/512

相關文章
相關標籤/搜索