[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 

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

相关推荐
阿伟*rui1 分钟前
docker入门
运维·docker·容器
运维小文1 小时前
K8S资源限制之resources
云原生·k8s·资源限制·resources
it噩梦1 小时前
k8s 中传递参数给docker容器
docker·容器·kubernetes
weixin_438197382 小时前
k8s服务内容滚动升级以及常用命令介绍
linux·运维·docker·云原生·容器·kubernetes
.生产的驴3 小时前
Docker 部署Nacos 单机部署 MYSQL数据持久化
android·运维·spring boot·sql·mysql·docker·容器
dreams_dream3 小时前
Ubuntu22.04.2 k8s部署
云原生·容器·kubernetes
大新新大浩浩3 小时前
使用docker-compose单点搭建社区版seafile+onlyoffice在线word编辑平台
docker·容器·word
优质&青年5 小时前
【云原生系列--Longhorn的部署】
云原生
Linux运维技术栈7 小时前
信创化浪潮下的ARM镜像构建指南
arm开发·云原生·kubernetes