侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Kubernetes】Ingress

Administrator
2022-09-20 / 0 评论 / 0 点赞 / 103 阅读 / 4976 字

【Kubernetes】Ingress

External Service vs Ingress

External Service

Ingress

Yaml Configuration Files

External Service

Ingress

Ingress and Internal Service configuration


How to configure Ingress in your Cluster

deploy nginx-ingress-controller

  • 拉取nginx-ingress-controller的镜像
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
  • 修改mandatory.yaml文件,指定部署nginx-ingress-controller的node
    nginxingresscontroller.png
  • 部署nginx-ingress-controller
kubectl apply -f mandatory.yaml
  • 查看某个namespace下所有的资源
kubectl get all -n ingress-nginx -o wide

deploy ingress

  • 创建ingress配置文件
vim ingress.yaml
#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
spec:
  rules:
  - host: daijiong.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-service
          servicePort: 80
  • 部署ingress
kubectl apply -f ingress.yaml
  • 查看集群中所有namespace下面的ingress的详情信息
kubectl get ingress --all-namespaces -o wide
NAMESPACE   NAME            HOSTS          ADDRESS   PORTS   AGE
default     nginx-ingress   daijiong.com             80      6m15s

deploy tomcat

  • 创建tomcat的deployment文件
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
        ports:
        - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    app: tomcat
  • 部署tomcat
kubectl apply -f tomcat-deployment.yaml

Test

  • 访问客户端主机配置host文件
112.124.8.57 daijiong.com

112.124.8.57这个IP为已经部署了nginx-ingress-controller的主机IP地址。

  • 访问daijiong.com域名可以直接访问tomcat这个pod

Undeploy

  • 删除已部署的tomcat
kubectl delete -f tomcat-deployment.yaml
  • 删除已部署的ingress
kubectl delete -f ingress.yaml
  • 删除已部署的ingress-controller
kubectl delete -f mandatory.yaml

More Use Cases of Ingress

Multiple paths for same host

Multiple sub-domains or domains


Configuring TLS Certificate - https




0

评论区