k3s - 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
解决方案
推荐阅读
- android - 想要在 retrofitV2 中设置字符串或 TextView 中的 ArrayList 名称
- r - 一个特定网站的 R 中 curl 中的 Webscraping 错误
- typescript - 如何使用 npm 导入纯 TypeScript 包
- ios - 在 TableViewCell 中设置 UIImage 时,约束不起作用
- python - 优化python中的mysql查询
- c# - 如何关闭遮挡其他元素的永久元素?
- javascript - 如何使 bable 的预设环境不转换 async-await 语句?
- c# - 通过 TCP 传输的图像往往是空白的
- db2 - 如何处理 DB2 for I 期刊状态
- javascript - 想使用 CSS 过渡来移除孩子
- 元素并且也移动下一个
- 列表顶部的元素