k8s学习记录,Ingress的使用(十六)

文章中资料参考来源2022 云原生Kubernetes全栈架构师

扩容ingress-nginx资源

当我们需要对ingress-nginx进行扩容时,只需要给待部署的节点,打上label标签即可,让节点满足ingress安装时的nodeSelector,即:ingress="true"

kubectl label node master02 ingress=true

缩容ingress-nginx资源

缩容的原理和扩容一致,只需将待缩容节点上的label标签去除即可

kubectl label node master02 ingress-

ingress-nginx简单入门:配置发布服务

配置发布服务,我们参考官网的用户指南,使用Annotations来进行配置

ingress-nginx官网用户指南

apiVersion: networking.k8s.io/v1beta1  # networking.k8s.io/v1beta1  在1.22+的版本就不支持了
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx" # 声明这里使用的是ingress的classname为nginx,是和ingress的values.yaml文件配置项ingressClass一致
  name: example
  namespace: default
spec:
  rules: # 一个ingress可以配置多个rules
  - host: zw.bar.com  # 域名配置,可以不写,也可以匹配* ,  *.bar.com
    http:
      paths:  # 相当于nginx的location配置,同一个host可以配置多个path   /    /abc
      - backend:
          serviceName: nginx  # 当前ingrss需要代理的service的名字
          servicePort: 80
        path: /

配置完成后,我们使用其他能访问到节点的机器配置hosts来解析发布的域名

1、修改hosts文件

2、访问发布的域名


ingress-nginx配置多域名发布服务

新部署另一个新的nginx服务

1、修改ingress的配置文件

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: "nginx"
  name: myingress
  namespace: default
spec:
  rules:
  - host: www.creamk87.com
    http:
      paths:
      - backend:
          serviceName: nginx
          servicePort: 80
        path: /
  - host: www.championDang.com
    http:
      paths:
      - backend:
          serviceName: nginx-new
          servicePort: 80
        path: /

2、使用新的yaml文件创建ingress服务

kubectl apply -f ingress-mulDomain.yaml

3、本地测试,使用其他集群外的电脑,在hosts文件中加上域名后,在浏览器上访问新发布的域名

posted @ 2021-06-04 15:19  Hei蛋炒饭  阅读(534)  评论(0编辑  收藏  举报