Kubernetes Ingress暴露服务---域名方式

本文使用Ingress暴露一个样例服务(tomcat) ,然后通过域名方式访问它。

部署样例服务

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
  labels:
    app: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      containers:
      - name: tomcat
        image: tomcat:7.0.57-jre7
        ports:
        - containerPort: 8080
---

apiVersion: v1
kind: Service
metadata:
  name: tomcat
spec:
  selector:
    app: tomcat
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080

部署Ingress

这条Ingress的规则是当HTTP Header中Host: tomcat.com,转发至Service tomcat.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: eureka-ingress
  annotations:
    # specify IngressClass
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: "tomcat.com"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: tomcat
            port:
              number: 8080

添加/etc/hosts文件

${your_master_ip} tomcat.com  

查看Ingress Controller的部署端口

需要提前部署Ingress Controller,参考https://kubernetes.io/zh/docs/concepts/services-networking/ingress/
部署ingress-nginx控制器。

[root@k8snode1 ~]# kubectl get svc -n ingress-nginx
NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             NodePort    10.108.10.114   <none>        80:30390/TCP,443:32064/TCP   6h6m
ingress-nginx-controller-admission   ClusterIP   10.100.32.25    <none>        443/TCP                      6h6m

本例中是30390,所以访问tomcat服务使用URL为:http://tomcat.com:30390/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值