接著上文,排除故障后,我重新配置了metallb組件到k8s環境,
metallb為k8s service 的loadbalance負載方式提供免費的解決方案,
external-ip的收費方案,可以選擇GRE或Azure,或其他國內云商LB方案,
以下是詳細安裝和配置步驟:
step 1:root >> kubectl apply -f \https://raw.githubusercontent.com/danderson/metallb/main/manifests/metallb.yamlroot >> kubectl get all -n metallb-system

step 2:# 生成一個configmap, # 注意:這里的 IP 地址范圍需要跟集群實際情況相對應,# https://github.com/danderson/metallb/tree/main/manifests# https://github.com/danderson/metallb/blob/main/manifests/tutorial-4.yaml
root >> kubectl apply -f - << EOFapiVersion: v1kind: ConfigMapmetadata: namespace: metallb-system name: configdata: config: | peers: # Cosmetic edit to make MetalLB notice that this is a new config. - my-asn: 64512 peer-asn: 64512 peer-address: 10.4.0.100 - my-asn: 64512 peer-asn: 64512 peer-address: 10.4.0.101 - my-asn: 64512 peer-asn: 64512 peer-address: 10.4.0.102 address-pools: - name: my-ip-space protocol: bgp avoid-buggy-ips: true addresses: - 10.5.0.0/24
# 或者限制IP池的范圍,如下
kubectl apply -f - << EOF
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: my-ip-space
protocol: bgp
avoid-buggy-ips: true
addresses:
- 10.5.0.10-10.5.10.250
# 執行完畢如下圖


step 3:# 查看配置程序# pod名稱,來自step 1查詢pod結果root >> kubectl get all -n metallb-systemroot >> kubectl logs -f controller-5f898b44f4-4pkk6 -n metallb-system
step 4:# 創建一個私有loadbalance provider的nginx服務和部署,如下root >> kubectl apply -f - << EOFapiVersion: extensions/v1beta1kind: Deploymentmetadata: name: nginx-lb namespace: appspec: selector: matchLabels: app: nginx-lb replicas: 1 template: metadata: labels: app: nginx-lb spec: containers: - name: nginx-lb image: nginx:1.7.9 ports: - containerPort: 80---apiVersion: v1kind: Servicemetadata: name: nginx-lb namespace: appspec: type: LoadBalancer ports: - port: 8090 targetPort: 80 selector: app: nginx-lb

root >> kubectl get all -n app -o wide
# 測驗一下nginx-lb的service,通過如下兩個地址<1> cluster_ip : service_port
root >> curl http://10.3.48.227:8090
<2> external_ip : service_portroot >> curl http://10.5.0.10:8090
# 集群外部,設定一下網卡可以訪問網關10.5.0.1,則就可以打開nginx-lb服務如下
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47611.html
標籤:其他
上一篇:記錄:一次使用私有LoadBalance provider,工具metallb的故障排除
下一篇:esxi虛擬機無法開機,提示“沒有更多空間可供虛擬磁盤server-000001.vmdk使用。也許通過釋放相關卷上的磁盤空間并單擊 重試 繼續此會話,單擊 取消 可終止此會話”
