2024 CKA模拟系统制作 | Step-By-Step | 8、题目搭建-创建 Ingress

目录

 ​​​​​​免费获取题库配套 CKA_v1.31_模拟系统 

一、题目

二、核心考点

Ingress 资源定义

Ingress Controller 依赖

服务暴露验证

网络层次关系

三、搭建模拟环境

1.创建命名空间

2.安装ingress ingress-nginx-controller

3.创建hello.yaml并部署

 四、总结


 ​​​免费获取题库配套 CKA_v1.31_模拟系统 

一、题目

您必须在以下Cluster/Node上完成此考题:    

  Cluster                                   Master node                                  Worker node

    hk8s                                         master                                            node01

设置配置环境:

[candidate@node01]$  kubectl config use-context hk8s

.

Context

将外部流量按照ingress规则引入内部服务

.

Task

如下创建一个新的 nginx Ingress 资源:
.
name : ping
namespace : ing-internal
.
使用服务端口 5678  在路径 /hello 上公开服务 hello 。 可以使用以下命令检查服务 hello  的可用性,该命令应返回 hello :
.
curl -kL INTERNAL_IP/hello

二、核心考点

  1. Ingress 资源定义

    • 名称与命名空间规范:name: pingnamespace: ing-internal

    • 路径与服务端口映射:/hello → service hello:5678

  2. Ingress Controller 依赖

    • 必须部署 Nginx Ingress Controller

    • 控制器与 Ingress 资源的关联机制

  3. 服务暴露验证

    • 获取 Ingress 访问端点(INTERNAL_IP)

    • 使用 curl -kL 测试路径响应

  4. 网络层次关系

三、搭建模拟环境

1.创建命名空间

kubectl create ns ing-internal

2.安装ingress ingress-nginx-controller

#下载ingress-nginx-controller.yaml文件 
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.6/deploy/static/provider/cloud/deploy.yaml
mv deploy.yaml ingress-nginx-controller.yaml

#将yaml文件中的namespace设置变更成题目要求的namespace
apiVersion: v1
kind: Namespace
metadata:
  labels:
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
  name: ing-internal

#然后所有
namespace: ing-internal

#将此行注释掉
externalTrafficPolicy: Local

#将service ingress-nginx-controller的type: LoadBalancer将慈航改成ClusterIP才能按照题目要求配置完ingress策略后出现IP
type: ClusterIP 

---
#题目中无IngressClass,故将类模块注释掉
#apiVersion: networking.k8s.io/v1
#kind: IngressClass
#metadata:
#  labels:
#    app.kubernetes.io/component: controller
#    app.kubernetes.io/instance: ingress-nginx
#    app.kubernetes.io/name: ingress-nginx
#    app.kubernetes.io/part-of: ingress-nginx
#    app.kubernetes.io/version: 1.9.6
#  name: nginx
#spec:
#  controller: k8s.io/ingress-nginx
---

#应用yaml文件,开始安装
kubectl apply -f ingress-nginx-controller.yaml

3.创建hello.yaml并部署

hello.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello
  namespace: ing-internal
  labels:
    name: hello
spec:
  replicas: 1
  selector:
    matchLabels:
      name: hello
  template:
    metadata:
      labels:
        name: hello
    spec:
      containers:
      - name: hello
        image: hello-world:2.0
        ports:
          - containerPort: 80
            name: http-web-svc
---
apiVersion: v1
kind: Service
metadata:
  name: hello
  namespace: ing-internal
spec:
  selector:
    name: hello
  ports:
  - name: hello-of-service-port
    protocol: TCP
    port: 5678
    targetPort: http-web-svc

部署yaml文件

kubectl apply -f hello.yaml

 四、总结

1.题库主要考察的是Ingress策略,所以必须部署Ingress controller

2.考试环境中是没有ingressclass的,需要自己创建一个默认类就可以,但是Ingress controller是默认带了的,为了题目效果要注释掉。

3.service ingress-nginx-controller的type: LoadBalancer将慈航改成ClusterIP才能按照题目要求配置完ingress策略后出现IP


CKA高仿真环境简单演示视频 

你可能感兴趣的:(CKA1.31模拟系统DIY,linux,运维,kubernetes,docker,云原生,CKA,ubuntu)