首页 > 解决方案 > LoadBalancer 服务 External-IP 在 K3s 中与 MetalLB 挂起

问题描述

我正在尝试按照Just Me And Opensource 的本教程设置 K3s、MetalLB 和 Traefik。我安装了没有 servicelb 或 traefik 的 K3s。

curl -sfL https://get.k3s.io | sh -s - server --disable traefik --disable servicelb

我按照教程进行了部署,并部署了 Nginx LoadBalancer 以测试 MetalLB 是否会从 configmap 的范围内传递一个 IP。但是,LoadBalancer 服务 EXTERNAL-IP 仍处于挂起状态。

我不确定如何解决此问题。我检查了组件,它们看起来都很开心,我没有看到错误或警告。我已验证我配置的 IP 范围在网络中可用。

我可以采取哪些步骤来解决此问题?

$ k get all --all-namespaces
NAMESPACE        NAME                                          READY   STATUS    RESTARTS   AGE
kube-system      pod/metrics-server-86cbb8457f-zhswd           1/1     Running   0          17h
kube-system      pod/local-path-provisioner-5ff76fc89d-mh6mv   1/1     Running   0          17h
kube-system      pod/coredns-7448499f4d-n95rh                  1/1     Running   0          17h
metallb-system   pod/controller-7dcc8764f4-8xrbb               1/1     Running   0          123m
metallb-system   pod/speaker-dc6kv                             1/1     Running   0          123m
default          pod/nginx-6799fc88d8-x4m6v                    1/1     Running   0          119m

NAMESPACE     NAME                     TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes       ClusterIP      10.43.0.1      <none>        443/TCP                  17h
kube-system   service/kube-dns         ClusterIP      10.43.0.10     <none>        53/UDP,53/TCP,9153/TCP   17h
kube-system   service/metrics-server   ClusterIP      10.43.33.248   <none>        443/TCP                  17h
default       service/nginx            LoadBalancer   10.43.119.71   <pending>     80:30762/TCP             118m

NAMESPACE        NAME                     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
metallb-system   daemonset.apps/speaker   1         1         1       1            1           kubernetes.io/os=linux   123m

NAMESPACE        NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
kube-system      deployment.apps/metrics-server           1/1     1            1           17h
kube-system      deployment.apps/local-path-provisioner   1/1     1            1           17h
kube-system      deployment.apps/coredns                  1/1     1            1           17h
metallb-system   deployment.apps/controller               1/1     1            1           123m
default          deployment.apps/nginx                    1/1     1            1           119m

NAMESPACE        NAME                                                DESIRED   CURRENT   READY   AGE
kube-system      replicaset.apps/metrics-server-86cbb8457f           1         1         1       17h
kube-system      replicaset.apps/local-path-provisioner-5ff76fc89d   1         1         1       17h
kube-system      replicaset.apps/coredns-7448499f4d                  1         1         1       17h
metallb-system   replicaset.apps/controller-7dcc8764f4               1         1         1       123m
default          replicaset.apps/nginx-6799fc88d8                    1         1         1       119m

这是配置映射的内容。

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 10.1.3.160-10.1.3-161

标签: k3smetallb

解决方案


推荐阅读