K8S中怎么为Ingress以及后端Nginx增加证书
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"K8S中怎么为Ingress以及后端Nginx增加证书",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"K8S中怎么为Ingress以
千家信息网最后更新 2026年11月03日K8S中怎么为Ingress以及后端Nginx增加证书
这篇文章主要讲解了"K8S中怎么为Ingress以及后端Nginx增加证书",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"K8S中怎么为Ingress以及后端Nginx增加证书"吧!
前言
前面 nginx 都是 http 协议在工作,那么加证书应该如何操作。
创建证书
可以网上申请一年免费证书,也可以自建证书。下面自建证书。
下载自建证书脚本
wget -O Makefile https://raw.githubusercontent.com/kubernetes/examples/master/staging/https-nginx/Makefile
创建证书文件
make keys KEY=/tmp/nginx.key CERT=/tmp/nginx.crt
将证书写入到 K8S 的 secret 中
# kubectl create secret tls nginxsecret --key /tmp/nginx.key --cert /tmp/nginx.crtsecret/nginxsecret created
将 nginx 配置写入到 K8S 的 configmap 中
# cat default.confserver { listen 80 default_server; listen [::]:80 default_server ipv6only=on; listen 443 ssl; root /usr/share/nginx/html; index index.html; server_name localhost; ssl_certificate /etc/nginx/ssl/tls.crt; ssl_certificate_key /etc/nginx/ssl/tls.key; location / { try_files $uri $uri/ =404; }}# kubectl create configmap nginxconfigmap --from-file=default.confconfigmap/nginxconfigmap created
整合后端 Pod 和证书,使用 Service 发布
[root@master01 ~]# cat nginx-app.yaml apiVersion: v1kind: Servicemetadata: name: my-nginx labels: run: my-nginxspec: type: NodePort ports: - port: 8080 targetPort: 80 protocol: TCP name: http - port: 443 protocol: TCP name: https selector: run: my-nginx---apiVersion: apps/v1kind: Deploymentmetadata: name: my-nginxspec: selector: matchLabels: run: my-nginx replicas: 1 template: metadata: labels: run: my-nginx spec: volumes: - name: secret-volume secret: secretName: nginxsecret - name: configmap-volume configMap: name: nginxconfigmap containers: - name: nginxhttps image: bprashanth/nginxhttps:1.0 ports: - containerPort: 443 - containerPort: 80 volumeMounts: - mountPath: /etc/nginx/ssl name: secret-volume - mountPath: /etc/nginx/conf.d name: configmap-volume
[root@master01 ~]# kubectl apply -f nginx-app.yaml service/my-nginx createddeployment.apps/my-nginx created
查看运行情况
[root@master01 ~]# kubectl get service -o wideNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTORmy-nginx NodePort 192.20.27.1738080:32529/TCP,443:32699/TCP 22s run=my-nginx[root@master01 ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESmy-nginx-85fccfd5dc-2pzvw 1/1 Running 0 64s 192.10.205.224 work01
尝试访问
[root@master01 ~]# curl -k https://192.20.27.173Welcome to nginx!
Service 使用 NodePort 进行了端口暴露,所以可以在浏览器中访问 https://任意节点IP:32699 ,也可以看到证书已经生效。
由于是自建证书,需要手动忽略报错。
整合 ingress 和证书
# cat ingress.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata: name: secret-tls-ingress annotations: ingress.kubernetes.io/ssl-redirect: "False"spec: tls: - hosts: - test.com secretName: nginxsecret rules: - host: test.com http: paths: - backend: serviceName: my-nginx servicePort: 80 path: /
# kubectl apply -f ingress.yaml ingress.extensions/secret-tls-ingress created
将 ingress-controller 绑定在了 work01/02 上,所以在集群外绑定 test.com 到 work01 IP 进行测试。
# curl -k https://test.comWelcome to nginx!
可以成功访问。
感谢各位的阅读,以上就是"K8S中怎么为Ingress以及后端Nginx增加证书"的内容了,经过本文的学习后,相信大家对K8S中怎么为Ingress以及后端Nginx增加证书这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
证书
学习
内容
情况
整合
成功
前言
就是
思路
手动
文件
文章
更多
浏览器
知识
知识点
端口
篇文章
脚本
节点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
高科技互联网
互联网金融监管科技数据
互联网下的科技发展
科技信息互联网
上海挚品互联网科技
宜安科技 互联网金融
未来的互联网科技
互联网科技logo设计
互联网科技博客
互联网科技类展会
老年人脱离互联网科技的作文
湖南一路畅行互联网科技
互联网科技公司有风险吗
辽宁互联网新科技
国大互联网教育科技有限公司薪资
从那以后互联网科技有限公司
普陀区互联网教育科技管理办法
安徽零酒互联网科技有限公司
颐高云石互联网科技
小牛互联网科技有限公司地址
中国互联网科技发展
丰台科技园 互联网
厦门比较好的科技互联网公司
洛阳共同富裕互联网科技有限公司
世界互联网领先科技成果获奖
群盈汇互联网科技有限公司
35岁以上互联网科技行业
互联网科技博主张洲
盐城市攀科互联网科技有限公司
互联网科技企业文化