gpt4 book ai didi

ssl - Kubernetes 入口 SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:19:47 26 4
gpt4 key购买 nike

我是 k8s 的新手,不知道如何将 SSL 用于入口。这是我的应用程序 yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
annotations: {}
name: app-name
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: app-name
template:
metadata:
labels:
app: app-name
spec:
containers:
- name: app-name
image: dockerhub:app-name
imagePullPolicy: Always
ports:
- containerPort: 80
imagePullSecrets:
- name: registrypullsecret

和入口 yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: app-ingress
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/ssl-redirect: "true"

spec:
tls:
- hosts:
- sub.example.com
secretName: tls-secret
rules:
- host: sub.example.com
http:
paths:
- backend:
serviceName: app-name
servicePort: 80
path: /

还有我的 tls-secret yaml

apiVersion: v1
kind: Secret
metadata:
name: tls-secret
namespace: default
data:
tls.crt: |
MIIFfD...

tls.key: |
MIIEvQ...

我的应用托管在 DigitalOcean 上,但我使用外部 DNS。我应用了 tls-secret

kubectl apply -f tls-secret.yaml

并尝试在浏览器中打开应用程序,但它仍然不安全。浏览器说证书无效“Kubernetes Ingress Controller Fake Certificate”我应该做一些额外的配置还是 list 文件有误?

最佳答案

您需要使用入口 Controller 部署、RBAC、CRD 和服务才能与您提到的内容一起工作。

请在下面找到使用入口将您的应用程序公开到互联网所需的资源列表

  • secret (TLS 证书)
  • 服务(负载均衡器)
  • Configmap(取决于什么您使用过的入口 Controller )
  • 部署(入口 Controller )CRDRBAC

请引用我在另一个问题中关于ingress controller的回答

How can I identify which ingress controller is installed on my Kubernetes cluster?

请在下面找到示例负载均衡器服务,并确保您已安装 Controller 部署、RBAC 和 crd

apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
namespace: nginx-ingress
spec:
externalTrafficPolicy: Local
type: LoadBalancer
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 443
targetPort: 443
protocol: TCP
name: https
selector:
app: nginx-ingress

关于ssl - Kubernetes 入口 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59137440/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com