Skip to content

tangx/k8s-auto-ingress-operator

Repository files navigation

k8s auto ingress operator

为 srv 和 web 开头的 service 创建对应的 ingress

域名规则: <serviceName>---<namespace>.<autoIngressName>

kgs

NAME                  TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
my-cs                 ClusterIP   10.43.118.186   <none>        5678/TCP   136m
srv-my-cs             ClusterIP   10.43.19.146    <none>        5678/TCP   136m
web-my-cs             ClusterIP   10.43.1.82      <none>        5678/TCP   134m


kg ing

NAME                  CLASS    HOSTS                                                   ADDRESS   PORTS     AGE
srv-my-cs--tangx-in   <none>   srv-my-cs---k8s-auto-ingress-operator-system.tangx.in             80, 443   88m
web-my-cs--tangx-in   <none>   web-my-cs---k8s-auto-ingress-operator-system.tangx.in             80, 443   9m17s

发布配置

  1. 安装控制器
kubectl apply -f release/k8s-auto-ingress-operator.yml
  1. 创建域名规则
kubectl apply -f deploy/tangx-in-ingresses.yml

annotations 中定义的标签可以认为是公共标签, 最终将被继承到生成的 Ingress 中。 因此可以通过 annotation 选择的 IngressController, 并为该 Controller 配置一些公共标签。

配置文件如下

# tangx-in-ingresses.yml
apiVersion: network.sodev.cc/v1
kind: AutoIngress
metadata:
  name: tangx-in
  namespace: k8s-auto-ingress-operator-system
  annotations:
    kubernetes.io/ingress.class: nginx

spec:
  rootDomain: tangx.in 
  servicePrefixes:
    - "web-"
    - "srv-"
  tlsSecretName: "wild-tangx-in"
  • rootDomain: (必须) 后缀域名, 必须。
  • servicePrefixes: 指定适配以 特定 关键字开头的 service。 默认值为 web- / srv-
  • tlsSecretName: (可选) 指定使用的 https 证书在 k8s 集群中的名字。

About

为 srv 和 web 开头的 service 创建 ingress

Resources

Stars

Watchers

Forks

Packages

No packages published