偷懶到底 - 一鍵自動爲 service 創建 ingress

k8s auto ingress operator

爲 srv 和 web 開頭的 service 創建對應的 ingress

域名規則: <serviceName>---<namespace>.<rootDomain>

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

配置文件如下

# 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"

遺留問題

控制器啓動時會獲取所有的 service 。如果這個時候沒有 域名規則 , 將不會創建 ingress 規則。

  1. 發佈控制器

  2. 發佈規則

  3. 刪除控制器 pod, 重新 ingess

項目地址:

https://github.com/tangx/k8s-auto-ingress-operator

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/8yXXG1Z9SRyL-mPsCQnVww