k3s 自动安装了Ingress

image-20240710171225448

  • 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    apiVersion: networking.k8s.io/v1  # 版本
    kind: Ingress # 类型
    metedata: # 元数据
    name: ingress-nginx-example
    annotations:
    kubernetes.io/ingresss.class: "nginx"
    spec:
    rules:
    - host: k8s.service.cn # 这里监听的是service监听的地址
    http:
    path: # 这里是 nginx 本地的一个配置,由于我没有用过nginx,所以跳过
    - backend:
    serviceName: nginx-svc # 代理到哪个service上去
    servicPort: 80 # service 的端口
    path: /so # 等价于nginx 中的 location的路径前缀匹配

    个人认为,这个就是nginx就是监听 service 监听的 ip,然后代理需要转发的 service 的名称与端口

    同时支持匹配路径的操作,因为可以写多个nginx的配置,用来匹配不同的路径操作,非常灵活

1
kubectl create -f nginx.yaml
1
kubectl get ns # namespace 默认nginx是放在命名空间里的
1
2
3
hhhyc@hhhyc:~/ingress$ sudo kubectl get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
ingress-nginx-example <none> your-domain.com 80 19s