[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配置:

shell 复制代码
curl -Lk https://web.k8sng.local 

Practice

本题可以参考k8s官网关于service的ingress配置

https://kubernetes.io/docs/concepts/services-networking/ingress/

创建ingress yaml文件

创建名为ingress-http.yml的文件,文件内容如下

yaml 复制代码
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

shell 复制代码
kubectl create -f  ingress-https.yml

验证

shell 复制代码
curl -Lk https://web.k8sng.local 

如果结果如下,则表示这个题对了

相关推荐
kong@react19 小时前
wsl2安装及命令(详细教程)
java·docker·容器
学Linux的语莫20 小时前
k8s知识点整体概览
java·linux·kubernetes
VermiliEiz20 小时前
二进制文件方式部署k8s(2)
kubernetes·云计算·etcd
古城小栈20 小时前
Spring Boot 容器化:Docker+K8s 部署最佳实践
spring boot·docker·kubernetes
学习3人组21 小时前
docker run 命令详解
运维·docker·容器
神秘面具男031 天前
Containerd 容器管理工具
容器
阿方索1 天前
Docker
运维·docker·容器
番茄撒旦在上1 天前
Docker部署springboot项目
服务器·spring boot·docker·容器
rocksun1 天前
记一次全自动的问题诊断过程
kubernetes·devops·vibecoding
不想画图1 天前
Docker 容器核心配置实战:资源管控、数据卷与容器互联
运维·docker·容器