偷懶到底 - 一鍵自動爲 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
發佈配置
- 安裝控制器
kubectl apply -f release/k8s-auto-ingress-operator.yml
- 創建域名規則
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"
-
rootDomain
: (必須) 後綴域名, 必須。 -
servicePrefixes
: 指定適配以 特定 關鍵字開頭的 service。默認值爲web- / srv-
。 -
tlsSecretName
: (可選) 指定使用的 https 證書在 k8s 集羣中的名字。
遺留問題
控制器啓動時會獲取所有的 service 。如果這個時候沒有 域名規則 , 將不會創建 ingress 規則。
-
發佈控制器
-
發佈規則
-
刪除控制器 pod, 重新 ingess
項目地址:
https://github.com/tangx/k8s-auto-ingress-operator
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/8yXXG1Z9SRyL-mPsCQnVww