k8s-ingress
生效方式
ingress 会将 配置的规则写入 启动的 nginx-ingress pod中,中间通过设置变量转发到对应的服务上面
1 2 3 4 5 set $namespace "prod"; set $ingress_name "xxx.com"; set $service_name ""; set $service_port ""; set $location_path "/";
生效规则
- 统一path,不同namespace
1 会分先后顺序
设置session
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: prometheus
meta.helm.sh/release-namespace: monitor
nginx.ingress.kubernetes.io/affinity: cookie ## 添加
nginx.ingress.kubernetes.io/session-cookie-name: grafana_session ## 添加
labels:
app.kubernetes.io/instance: prometheus
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: grafana
app.kubernetes.io/version: 11.4.0
helm.sh/chart: grafana-8.8.3
name: prometheus-grafana
namespace: monitor
spec:
ingressClassName: ingress-nginx-ops
rules:
- host: grafana.fscloude.cn
http:
paths:
- backend:
service:
name: prometheus-grafana
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- grafana.fscloude.cn
secretName: grafana-fscloude-cn-tls
##helm-chart部署
value.yaml 部分参数解析
1
2
3
controller:
allowSnippetAnnotations: true #是否允许用户在 Ingress 资源中使用 *‑snippet 注解来自定义 NGINX 配置
本文由作者按照
CC BY 4.0
进行授权