ingress

ingress 简介

ingress-nginx 官方网站
ingress-nginx-github

部署ingress控制器

在这里插入图片描述

从官网上获取ingress-nginx 的安装yaml 清单

wget     https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml

查看清单中需要的镜像,提前通过特殊手段获取相应的版本的镜像文件,然后加载的集群中各个节点中(利用阿里云的容器构建服务)

 cat deploy.yaml |grep image

在这里插入图片描述
执行yaml 清单
kubectl apply -f deploy.yaml
在这里插入图片描述
查看ingress 状况
kubectl get all -n ingress-nginx
可以看到有两个job 类型的pod 处于completed 状态,(缘故还没有搞明白,后续待跟进,)
在这里插入图片描述
ingress 控制器有多种方案,这只是一个简单让ingress实现的部署。

ingress 的使用

deployment——service——ingress

第一步: deployment-----service yaml 资源清单

(两个deployment 搭配两个service )

cat  >> dev_deployment_service.yaml  << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-dev
  namespace: dev
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-dev
  template:
    metadata:
      labels:
        app: nginx-dev
    spec:
      containers:
      - name: nginx-dev
        image: nginx:1.20.2
        ports:
        - containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-old
  name: nginx-old
  namespace: dev
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx-old
  template:
    metadata:
      labels:
        app: nginx-old
    spec:
      containers:
      - name: nginx-old
        image: nginx:1.18.0
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-dev
  name: nginx-dev
  namespace: dev
spec:
  selector:
    app: nginx-dev
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 80
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-old
  name: nginx-old
  namespace: dev
spec:
  selector:
    app: nginx-old
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 80
EOF

第二步: 简单的基于域名访问的ingress 资源清单

cat  >>  ingress.yaml  <<  EOF
apiVersion: networking.k8s.io/v1
kind: Ingress  
metadata:
  name: ingress-nginx-dev
  namespace: dev
spec:
  ingressClassName: nginx
  rules:
  - host: "dev.etiantian.org"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: nginx-dev
            port:
              number: 8000
  - host: "old.etiantian.org"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: nginx-old
            port:
              number: 8000
EOF              

第三步:执行资源清单,

kubectl apply -f dev_deployment_service.yaml
kubectl apply -f ingress.yaml
kubectl get all -n dev -o wide
kubec get ingress -n dev
在这里插入图片描述
在这里插入图片描述

第四步:验证域名访问是否正常

win10 C:\Windows\System32\drivers\etc 目录下修改hosts文件
192.168.6.112 dev.etiantian.org
192.168.6.112 old.etiantian.org
自带负载均衡
在这里插入图片描述

在这里插入图片描述

参考来源:
ingress多个模式
ingress-nginx部署
相当不错的博客
同上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值