[CKS] 使用ingress公开https服务
目前的所有题目为2024年10月后更新的最新题库,考试的k8s版本为1.31.1
BackGround
您必须使用HTTPS路由来公开web应用程序。
Task
在prod02 namespace创建一个名为web的Ingress资源,并按照如下方式配置它:
- 将主机web.k8sng.local和所有路径的流量路由到现有的web Service。
- 使用现有的web-cert Secret来启用TLS终止。
- 将HTTP请求重定向到HTTPS
Notes: 你可以使用以下命令测试Ingress配置:
curl -Lk https://web.k8sng.local
Practice
本题可以参考k8s官网关于service的ingress配置
https://kubernetes.io/docs/concepts/services-networking/ingress/
创建ingress yaml文件
创建名为ingress-http.yml
的文件,文件内容如下
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web
namespace: prod02
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
tls:
- hosts:
- web.k8sng.local
secretName: web-cert
rules:
- host: web.k8sng.local
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80
需要注意的是annotations: nginx.ingress.kubernetes.io/ssl-redirect: "true"
这个是将http的请求重定向到https上。
创建Ingress
kubectl create -f ingress-https.yml
验证
curl -Lk https://web.k8sng.local
如果结果如下,则表示这个题对了