kir*_*rie 6 amazon-web-services kubernetes nginx-ingress
我对 Kubernetes 非常陌生,我正在尝试弄清楚如何为我的 kubernetes 集群设置 http -> https 重定向。我已经搜索并尝试了许多不同的注释,但我不确定我是否正确应用了它们。我已将我的文件粘贴在下面,如果需要更多内容,我很乐意分享更多内容。
我尝试将这些行添加到注释部分
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
Run Code Online (Sandbox Code Playgroud)
我也尝试过实施这个解决方法,但没有成功。
我很感激你的帮助!
服务.yaml
kind: Service
apiVersion: v1
metadata:
name: loadbalancer-ingress
annotations:
{{- if .Values.loadbalancer.cert }}
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {{ .Values.loadbalancer.cert | quote }}
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "{{- range .Values.loadbalancer.ports -}}{{- if .ssl -}}{{ .name }},{{- end -}}{{- end -}}"
{{- end }}
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: {{ .Values.loadbalancer.backend_protocol | quote }}
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
spec:
type: LoadBalancer
selector:
pod: {{ .Chart.Name }}
ports:
{{- range .Values.loadbalancer.ports }}
- name: {{ .name }}
port: {{ .port }}
targetPort: {{ .targetPort }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
配置映射.yaml
---
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ .Chart.Name }}-nginx-configuration
data:
use-proxy-protocol: "false"
use-forwarded-headers: "true"
server-tokens: "false"
---
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ .Chart.Name }}-tcp-services
---
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ .Chart.Name }}-udp-services
Run Code Online (Sandbox Code Playgroud)
值.yaml
loadbalancer:
backend_protocol: http
cert: MY_AWS_CERT
ports:
- name: http
port: 80
targetPort: 80
ssl: false
- name: https
port: 443
targetPort: 80
ssl: true
Run Code Online (Sandbox Code Playgroud)
您需要在这些 pod 前面有 pod 和 clusterIP 服务,然后在入口资源中您可以引用该服务。因此,诸如 nginx 之类的入口控制器将接收来自 kubernetes 集群外部客户端的流量,并将该流量转发到服务后面的 pod。入口控制器本身需要通过 LoadBalancer 类型的服务暴露在集群外部。
从此处的文档引用入口资源将如下所示
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22731 次 |
| 最近记录: |