【问题标题】:Access service in remote Kubernetes cluster using ingress使用 ingress 访问远程 Kubernetes 集群中的服务
【发布时间】:2018-12-17 12:12:42
【问题描述】:

我正在尝试访问部署在远程机器上的现有 kubernetes 集群中的服务。我已将集群配置为可通过本地 Mac 上的 kubectl 访问。

$ kubectl cluster-info
Kubernetes master is running at https://192.168.58.114:6443
KubeDNS is running at https://192.168.58.114:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

我要连接的服务的入口配置是:

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: gw-ingress
  namespace: vick-system
  selfLink: /apis/extensions/v1beta1/namespaces/vick-system/ingresses/gw-ingress
  uid: 52b62da6-01c1-11e9-9f59-fa163eb296d8
  resourceVersion: '2695'
  generation: 1
  creationTimestamp: '2018-12-17T06:02:23Z'
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"nginx","nginx.ingress.kubernetes.io/affinity":"cookie","nginx.ingress.kubernetes.io/session-cookie-hash":"sha1","nginx.ingress.kubernetes.io/session-cookie-name":"route"},"name":"gw-ingress","namespace":"vick-system"},"spec":{"rules":[{"host":"wso2-apim-gateway","http":{"paths":[{"backend":{"serviceName":"gateway","servicePort":8280},"path":"/"}]}}],"tls":[{"hosts":["wso2-apim-gateway"]}]}}
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/session-cookie-hash: sha1
    nginx.ingress.kubernetes.io/session-cookie-name: route
spec:
  tls:
    - hosts:
        - wso2-apim-gateway
  rules:
    - host: wso2-apim-gateway
      http:
        paths:
          - path: /
            backend:
              serviceName: gateway
              servicePort: 8280
status:
  loadBalancer:
    ingress:
      - ip: 172.17.17.100

我的服务列表是:

我的 /etc/hosts 文件如下所示:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

172.17.17.100 wso2-apim-gateway wso2-apim wso2sp-dashboard

我应该使用什么 URL 从本地浏览器访问此服务?我应该做更多的配置吗?

【问题讨论】:

  • 您的集群在什么环境下运行?这是 kubeadm 吗?
  • 我设法通过将 ingress-nginx 服务的外部 ip 更改为主机的 IP 来完成此操作。然后我更新了上面显示的 /etc/hosts 条目,替换了上述 IP(远程主机)的 172.17.17.100
  • 所以问题现在解决了吗?
  • 是的。解决了。​​

标签: kubernetes


【解决方案1】:

最简单的访问方法是端口转发,无需修改主机文件。

kubectl -n vick-system port-forward svc/wso2sp-dashboard 9643

这将允许您浏览到 http://localhost:9643 并访问该服务。

请注意,svc/name 语法仅在 kubectl >= 1.10 中受支持

【讨论】:

  • 我已经试过了。当我点击 localhost:9763 时,url 确实变为 wso2-apim-gateway 但浏览器显示一段时间后无法到达错误。
猜你喜欢
  • 2021-07-14
  • 2023-03-20
  • 2019-03-21
  • 2021-06-05
  • 2022-08-13
  • 2018-04-12
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
相关资源
最近更新 更多