【发布时间】:2020-07-11 21:38:58
【问题描述】:
我一直在按照以下教程进行 AKS 设置:https://github.com/Azure/phippyandfriends。 但现在我正在努力让 HTTPS 正常工作。
这就是我所做的
我通过关注shell script 生成了证书和密钥 在cmd中运行
bash generate-wildcard-certificate.sh mydomain.somenumbers.westeurope.aksapp.io
生成 2 个文件:
mydomain.somenumbers.westeurope.aksapp.io.crtmydomain.somenumbers.westeurope.aksapp.io.key
然后我使用以下命令创建了一个秘密:
kubectl create secret tls ingress-crypto-auth --key mydomain.somenumbers.westeurope.aksapp.io.crt --cert mydomain.somenumbers.westeurope.aksapp.io.crt
将秘密添加到我的ingress.yaml 文件中:
{{ if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: {{ template "fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
annotations:
kubernetes.io/ingress.class: addon-http-application-routing
spec:
tls:
- hosts:
- {{ .Values.ingress.basedomain }}
secretName: ingress-crypto-auth
rules:
- host: {{ .Release.Name }}.{{ .Values.ingress.basedomain }}
http:
paths:
- path: /
backend:
serviceName: {{ template "fullname" . }}
servicePort: {{ .Values.service.externalPort }}
{{ end }}
似乎我的证书已加载,但出现以下错误:
此 CA 根证书不受信任,因为它不在受信任的根证书颁发机构存储中。
我做错了吗?更重要的是,我如何让它发挥作用? 我不在乎临时项目的情况
【问题讨论】:
-
您使用的是自签名证书,这是因为您没有有效的证书。您提到的脚本在创建证书时会显示此警告。自签名证书仅用于开发/测试目的...如果您需要有效的证书,我建议您查看 Let's Encrypt 和 cert-manager,如果这是您想要的,我很乐意为您提供帮助和发布答案以设置证书管理器/让我们加密以在您的应用程序中拥有有效证书。
-
感谢您的回复,在互联网上搜索后,我发现它会是这样的。我现在正在学习以下教程:docs.microsoft.com/en-gb/azure/aks/ingress-static-ip,但我被困在
Create a certificate object,你能帮忙吗? -
你为什么卡住了?我应该你可以使用 nginx ingres 实现你自己的证书管理器。您需要 aks 的静态 ip 和负载均衡器吗?
标签: ssl kubernetes azure-aks