接着上文,排除故障後,我從新配置了metallb組件到k8s環境。nginx
metallb爲k8s service 的loadbalance負載方式提供免費的解決方案。git
external-ip的收費方案,能夠選擇GRE或Azure,或其餘國內雲商LB方案。github
如下是詳細安裝和配置步驟:api
root >> kubectl apply -f - << EOF apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: 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
# 執行完畢以下圖app
root >> kubectl apply -f - << EOF apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-lb namespace: app spec: 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: v1 kind: Service metadata: name: nginx-lb namespace: app spec: type: LoadBalancer ports: - port: 8090 targetPort: 80 selector: app: nginx-lb