4

ネットワークの IP 経由でサービスを公開できるように、MetalLB をインストールしました。インストール後、 https ://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/ に従って簡単な hello-world を試しました。

外部 IP が常に状態になっていることに気付きました

コントローラ ポッドのログに、次のエラー メッセージが表示されました。

{"caller":"reflector.go:205","level":"error","msg":"go.universe.tf/metallb/internal/k8s/k8s.go:231: Failed to list *v1.Service: Get https://10.96.0.1:443/api/v1/services?limit=500\u0026resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout","ts":"2019-04-23T12:16:31.3694Z"}

{"caller":"reflector.go:205","level":"error","msg":"go.universe.tf/metallb/internal/k8s/k8s.go:237: Failed to list *v1.ConfigMap: Get https://10.96.0.1:443/api/v1/namespaces/metallb-system/configmaps?fieldSelector=metadata.name%3Dconfig\u0026limit=500\u0026resourceVersion=0: dial tcp 10.96.0.1:443: i/o timeout","ts":"2019-04-23T12:17:01.779341Z"}

いつものように Kubernetes をインストールし、次のコマンドで初期化しました。 sudo kubeadm init --pod-network-cidr=10.21.8.128/25 --apiserver-advertise-address=10.21.8.1

では、標準値がであり、クラスタ サイズが"kube-controller-manager.yaml"であるため、 のサイズを変更しました。 "node-cidr-mask""/24""/25"--node-cidr-mask-size=26

flannel と Kubernetes Dashboard もインストールしました。すべてがうまくいきます!

次に、MetalLB に従ってインストールしました: https://metallb.universe.tf/tutorial/layer2/

そして、この構成で構成された MetalLB:

*apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: my-ip-space
      protocol: layer2
      addresses:
      - 10.21.8.129-10.21.8.254*

私は何かを逃しましたか?

4

2 に答える 2