Kubernetes 如何修复k3s上nginx入口的空外部IP?

Kubernetes 如何修复k3s上nginx入口的空外部IP?,kubernetes,nginx-ingress,k3s,metallb,Kubernetes,Nginx Ingress,K3s,Metallb,我想为我的k3s集群使用metallb和nginx入口 当前外部IP为 然后我安装了带有 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/namespace.yaml kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/metallb.yaml kubectl c

我想为我的k3s集群使用metallb和nginx入口

当前外部IP为

然后我安装了带有

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.6/manifests/metallb.yaml
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
使用config
kubectl apply-f config.yaml

config.yaml 
---
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.178.240-192.168.178.250
然后我安装了nginx ingress baremetal

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.45.0/deploy/static/provider/baremetal/deploy.yaml
所有吊舱都在运行

  % k3s kubectl get pods --all-namespaces -o wide
NAMESPACE        NAME                                        READY   STATUS      RESTARTS   AGE   IP                NODE         NOMINATED NODE   READINESS GATES
kube-system      metrics-server-86cbb8457f-xmp4w             1/1     Running     0          42m   10.42.0.3         master-pi4   <none>           <none>
kube-system      coredns-854c77959c-vlpxf                    1/1     Running     0          42m   10.42.0.2         master-pi4   <none>           <none>
kube-system      local-path-provisioner-5ff76fc89d-l6nmk     1/1     Running     0          42m   10.42.0.4         master-pi4   <none>           <none>
metallb-system   speaker-zghmh                               1/1     Running     0          40m   192.168.178.37    master-pi4   <none>           <none>
metallb-system   controller-64f86798cc-bgcvw                 1/1     Running     0          40m   10.42.1.2         node1-pi4    <none>           <none>
metallb-system   speaker-cjjl4                               1/1     Running     0          40m   192.168.178.240   node1-pi4    <none>           <none>
metallb-system   speaker-pnmzm                               1/1     Running     0          40m   192.168.178.35    node2-pi3    <none>           <none>
ingress-nginx    ingress-nginx-admission-patch-kmt2s         0/1     Completed   1          19m   10.42.0.5         master-pi4   <none>           <none>
ingress-nginx    ingress-nginx-admission-create-7j98l        0/1     Completed   0          19m   10.42.0.6         master-pi4   <none>           <none>
ingress-nginx    ingress-nginx-controller-7b78df5bb4-6t2jz   1/1     Running     0          19m   10.42.1.3         node1-pi4    <none>           <none>
%k3s kubectl get pods——所有名称空间——o宽
命名空间名称就绪状态重新启动老化IP节点指定节点就绪门
kube system metrics-server-86cbb8457f-xmp4w 1/1运行0 42m 10.42.0.3 master-pi4
kube系统coredns-854c77959c-vlpxf 1/1运行0 42m 10.42.0.2主-pi4
kube系统本地路径供应器-5ff76fc89d-l6nmk 1/1运行0 42m 10.42.0.4 master-pi4
metallb系统扬声器zghmh 1/1运行0 40m 192.168.178.37 master-pi4
metallb系统控制器-64f86798cc-bgcvw 1/1运行0 40m 10.42.1.2节点1-pi4
metallb系统扬声器-cjjl4 1/1运行0 40m 192.168.178.240节点1-pi4
metallb系统扬声器pnmzm 1/1运行0 40m 192.168.178.35节点2-pi3
ingress nginx ingress-nginx-admission-patch-kmt2s 0/1完成1 19m 10.42.0.5 master-pi4
ingress nginx ingress-nginx-acmission-create-7j98l 0/1完成0 19m 10.42.0.6 master-pi4
ingress nginx ingress-nginx-controller-7b78df5bb4-6T2 JZ 1/1运行0 19m 10.42.1.3节点1-pi4
为什么入口控制器没有分配外部IP?

在服务定义为
NodePort
的一侧,必须将其更改为
LoadBalancer
。然后nginx入口将作为负载平衡器运行

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.45.0/deploy/static/provider/baremetal/deploy.yaml
  % k3s kubectl get pods --all-namespaces -o wide
NAMESPACE        NAME                                        READY   STATUS      RESTARTS   AGE   IP                NODE         NOMINATED NODE   READINESS GATES
kube-system      metrics-server-86cbb8457f-xmp4w             1/1     Running     0          42m   10.42.0.3         master-pi4   <none>           <none>
kube-system      coredns-854c77959c-vlpxf                    1/1     Running     0          42m   10.42.0.2         master-pi4   <none>           <none>
kube-system      local-path-provisioner-5ff76fc89d-l6nmk     1/1     Running     0          42m   10.42.0.4         master-pi4   <none>           <none>
metallb-system   speaker-zghmh                               1/1     Running     0          40m   192.168.178.37    master-pi4   <none>           <none>
metallb-system   controller-64f86798cc-bgcvw                 1/1     Running     0          40m   10.42.1.2         node1-pi4    <none>           <none>
metallb-system   speaker-cjjl4                               1/1     Running     0          40m   192.168.178.240   node1-pi4    <none>           <none>
metallb-system   speaker-pnmzm                               1/1     Running     0          40m   192.168.178.35    node2-pi3    <none>           <none>
ingress-nginx    ingress-nginx-admission-patch-kmt2s         0/1     Completed   1          19m   10.42.0.5         master-pi4   <none>           <none>
ingress-nginx    ingress-nginx-admission-create-7j98l        0/1     Completed   0          19m   10.42.0.6         master-pi4   <none>           <none>
ingress-nginx    ingress-nginx-controller-7b78df5bb4-6t2jz   1/1     Running     0          19m   10.42.1.3         node1-pi4    <none>           <none>