【问题标题】:In kubernetes, I can't access externalIP that is assigned with MetalLB Loadbalancer在 kubernetes 中,我无法访问使用 MetalLB Loadbalancer 分配的外部 IP
【发布时间】:2020-08-17 07:07:04
【问题描述】:

首先,我在本地使用 kubernetes 设置集群。
https://metallb.universe.tf/installation/所示,我安装了MetalLB,并配置了configmap、deployment和service。

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
# On first install only
kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"

configmap.yaml

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

tutorial.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1
        ports:
        - name: http
          containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer

配置后,当我用kubectl get svc命令查看服务时,有一个带有EXTERNAL-IP的nginx服务。

NAME         TYPE           CLUSTER-IP      EXTERNAL-IP       PORT(S)        AGE
kubernetes   ClusterIP      10.96.0.1       <none>            443/TCP        8d
nginx        LoadBalancer   10.101.179.72   192.168.143.230   80:32190/TCP   22s

当我输入“192.168.143.230”时,我无法访问该页面并显示“无法访问此站点 192.168.143.230 响应时间过长”。
使用 EXTERNAL-IP 访问该页面应该怎么做?

【问题讨论】:

  • 您的防火墙是否打开以允许您通过端口 80 访问该计算机?
  • 您的 Kubernetes 集群部署在哪里? 192.168.0.0/16 是专用网络,只有在运行集群的机器内部才能访问。
  • @paulopontesm 所有端口都打开了。
  • @AzizAlfoudari 好吧,对不起,我的英语不好,所以,我不明白你在说什么......我在一台机器上设置了集群,我做了一些事情在同一台机器上运行命令,kubectl get svc,或者访问服务的IP。除了上面的东西,我没有配置任何东西。所以,我不确定,但我认为我无法访问 EXTERNAL-IP,因为我没有设置任何东西......
  • 当我使用 'virtualBox' 驱动程序启动 'minikube' 时,我可以访问该页面。我认为这个问题与“minikube 网络”有关。所以,如果我确切地找出问题所在,那么我会写下来。

标签: nginx networking kubernetes metallb


【解决方案1】:

我猜它可以通过 192.168.143.230:32190 访问

【讨论】:

    猜你喜欢
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2022-07-12
    • 2016-05-12
    • 2019-09-16
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多