You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何获取Kubernetes Ingress端点/IP地址?CentOS集群(1主2从)K8S 1.9.5

获取Kubernetes Ingress端点/IP地址的步骤

嘿,作为Ingress新手,咱们先理清楚:你目前已经有了Deployment和Service,但还缺少Ingress规则配置和确认Ingress Controller的状态,这两步是获取Ingress访问端点的关键,下面一步步来:

第一步:创建Ingress规则配置文件

首先得定义Ingress资源,把两个服务的路径映射规则写进去。创建一个名为my-ingress.yaml的文件,内容如下:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-services-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /nginx
        backend:
          serviceName: nginx
          servicePort: 80
      - path: /echo
        backend:
          serviceName: echoserver
          servicePort: 8080

注:因为你用的是K8S 1.9.5,所以apiVersion用extensions/v1beta1(1.19+版本才改用networking.k8s.io/v1);rewrite-target注解是为了让请求路径重写到服务的根路径,避免nginx/echoserver找不到对应资源。

第二步:应用Ingress配置

执行命令部署这个Ingress资源:

kubectl apply -f my-ingress.yaml

第三步:获取Ingress的IP/端点

方法1:直接查看Ingress资源状态

执行命令:

kubectl get ingress

输出大概是这样:

NAME                     HOSTS     ADDRESS         PORTS     AGE
my-services-ingress      *         192.168.1.100   80        5m

这里的ADDRESS字段就是Ingress的访问IP,之后你就可以通过http://<ADDRESS>/nginx访问nginx服务,http://<ADDRESS>/echo访问echoserver服务。

方法2:如果ADDRESS为空(常见于NodePort模式的Ingress Controller)

KubeSpray部署的K8S集群,默认的Ingress Controller(一般是nginx-ingress)可能用的是NodePort模式,这时候需要先找到Ingress Controller的服务端口:

  1. 查看kube-system命名空间下的Ingress Controller服务:
kubectl get svc -n kube-system | grep ingress

输出类似:

nginx-ingress-controller   NodePort    10.96.0.10   <none>        80:30080/TCP,443:30443/TCP   1d
  1. 这时候Ingress的访问端点就是任意集群节点的IP + 80对应的NodePort(这里是30080),比如你的主节点IP是192.168.1.5,那访问地址就是http://192.168.1.5:30080/nginxhttp://192.168.1.5:30080/echo

额外提示

  • 如果kubectl get ingress长时间没有ADDRESS,大概率是Ingress Controller没正常部署,你可以用kubectl get pods -n kube-system | grep ingress检查Pod状态,确保所有Ingress Controller Pod都是Running状态。
  • 因为你用的是K8S 1.9.5版本,部分新特性不支持,所以尽量用对应版本的Ingress配置语法,避免踩坑。

内容的提问来源于stack exchange,提问作者user4889345

火山引擎 最新活动