首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >偷懒到底 - 一键自动为 service 创建 ingress

偷懒到底 - 一键自动为 service 创建 ingress

作者头像
老麦
发布于 2022-12-24 10:27:13
发布于 2022-12-24 10:27:13
4730
举报
文章被收录于专栏:Go与云原生Go与云原生

k8s auto ingress operator

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

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

代码语言:javascript
复制
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. 安装控制器
代码语言:javascript
复制
kubectl apply -f release/k8s-auto-ingress-operator.yml
  1. 创建域名规则
代码语言:javascript
复制
kubectl apply -f deploy/tangx-in-ingresses.yml

配置文件如下

代码语言:javascript
复制
# 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 规则。

  1. 发布控制器
  2. 发布规则
  3. 删除控制器 pod, 重新ingess

项目地址:

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • k8s auto ingress operator
    • 发布配置
    • 遗留问题
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档