CKA考试真题(2)-- 绝对干货!

news2025/2/21 12:36:38

目录

前言

11. NetworkPolicy网络策略

12. Deployment暴露端口/创建Service

13. 创建Ingress

14. 创建pvc及挂载pvc的pod


前言

17道真题难度等级

一级 rbac cpu 扩容 pod指定节点 pv pod日志 排障 查看可用节点 多容器pod 节点维护

二级 networkpolicy service  ingress  pvc

三级 sidecar 升级集群 备份还原etcd

本系列有三篇博客,本博客为第二篇,即二级难度篇

CKA注意事项:CKA考试注意事项--考前必看!_luo_guibin的博客-CSDN博客

第一篇:CKA认证真题(1)-- 必考_luo_guibin的博客-CSDN博客

第二篇:CKA考试真题(2)_luo_guibin的博客-CSDN博客

第三篇:CKA认证真题(3)-- 绝对干货!_luo_guibin的博客-CSDN博客

11. NetworkPolicy网络策略


Task

在现有的 namespace my-app 中创建一个名为 allow-port-from-namespace 的新 NetworkPolicy

确保新的 NetworkPolicy 允许 namespace corp-net 中的 Pods 连接到 namespace echo 中的 Pods 的 9000 端口。

进一步确保新的 NetworkPolicy:

不允许对没有在监听 端口 9000 的 Pods 的访问

不允许非来自 namespace echo 中的 Pods 的访问


参考文档:网络策略 | Kubernetes

 #删除egress部分,更改ingress相关参数

#答案

vi networkpolicy.yaml

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: echo     #被访问者
spec:
  podSelector:
    matchLabels: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              project: corp-net     #访问者
      ports:
        - protocol: TCP
          port: 9000


kubectl apply -f networkpolicy.yaml

12. Deployment暴露端口/创建Service


Task

请重新配置现有的 deployment front-end 以及添加名为 http 的端口规范来公开现有容器 nginx 的端口 80/tcp

创建一个名为 front-end-svc 的新 service,以公开容器端口 http

配置此 service,以通过各个 Pod 所在的节点上的 NodePort 来公开他们。


参考文档: 服务(Service) | Kubernetes

#edit deployment 然后添加端口信息,注意添加位置

#答案

kubectl edit deployment front-end

    ports:
      - containerPort: 80
        name: http-web-svc

kubectl expose deployment front-end --type=NodePort --port=80 --target-port=80 --name=front-end-svc

#暴露服务后,检查一下 service 的 selector 标签是否正确,这个要与 deployment 的 selector 标签一致的。
kubectl get svc front-end-svc -o wide
kubectl get deployment front-end -o wide

#如果你 kubectl expose 暴露服务后,发现 service 的 selector 标签是空的<none>,kubectl edit svc front-end-svc在 ports 这一小段下面添加 selector 标签
 selector:
 app: front-end

13. 创建Ingress


Task

如下创建一个新的 nginx Ingress 资源:

名称: ping

Namespace: ing-internal

使用服务端口 5678 在路径 /hello 上公开服务 hello

可以使用以下命令检查服务 hello 的可用性,该命令应返回 hello

curl -kL <INTERNAL_IP>/hello


参考文档: Ingress | Kubernetes

 ingressclass、ingress 写在同一个yaml文件中, ingressclass不需要更改内容。

vi ingress.yaml

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  labels:
    app.kubernetes.io/component: controller
  name: nginx-example
  annotations:
    ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: k8s.io/ingress-nginx

---

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ping
  namespace: ing-internal    #注意新增namespace
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx-example
  rules:
  - http:
      paths:
      - path: /hello
        pathType: Prefix
        backend:
          service:
            name: hello
            port:
              number: 5678

kubectl apply -f ingress.yaml

#检查
kubectl get ingress -n ing-internal
curl http://ingress-IP/hello

14. 创建pvc及挂载pvc的pod


Task

创建一个新的 PersistentVolumeClaim

名称: pv-volume

Class: csi-hostpath-sc

容量: 10Mi

创建一个新的 Pod,来将 PersistentVolumeClaim 作为 volume 进行挂载:

名称:web-server

Image:nginx

挂载路径:/usr/share/nginx/html


参考文档:配置 Pod 以使用 PersistentVolume 作为存储 | Kubernetes

 

 #需要创建pvc和一个挂载pvc的pod

#答案

pv pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-volume
spec:
  storageClassName: csi-hostpath-sc
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Mi


pv pvc-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: web-server
spec:
  volumes:
    - name: task-pv-storage     #与下面对应,可不更改
      persistentVolumeClaim:
        claimName: pv-volume    #对应pvc.yaml的name
  containers:
    - name: nginx               #容器名题目无要求可随意更改
      image: nginx
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage  #与上面对应,可不更改

kubectl apply -f pvc.yaml
kubectl apply -f pvc-pod.yaml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/863695.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos修改DNS方法

如何修复dns服务器&#xff1f;dns服务器由解析器和域名服务器组成&#xff0c;主要存储网络中所有主机的域名和相应的ip地址。关于dns服务器有很多问题&#xff0c;我们将在这里给出一个具体的答案。 1、什么是dns&#xff1f; dns是指&#xff1a;域名服务器&#xff08;域…

Learning Deep Features for Discriminative Localization

Some Words: 这里主要是我阅读paper的笔记 这篇文章主要是2016年CVPR的一篇文章&#xff0c;中文名是 学习用于判别性定位的深度特征&#xff0c; &#xff08;一&#xff09;Abstract: 在这篇工作中&#xff0c;我们又重新探讨了全局平均池化层&#xff0c;并且阐释了CNN网络…

6、CCS 配置工程头文件批量添加路径的方法

1、进入到图示的框框里 2、编辑好需要添加的路径&#xff0c;并按ctrl c 3、选中include paths&#xff08;-I&#xff09;框框里的最后一条路径 4、然后ctrl v&#xff0c;这样路径就复制到预定义路径里了

领航优配:厄尔尼诺现象引发全球粮食危机,印度大米出口禁令引发恐慌性囤货

近期&#xff0c;全球多地遭受厄尔尼诺现象带来的极点气候影响&#xff0c;农业出产遭到严峻搅扰&#xff0c;粮食价格呈现大幅动摇。其中&#xff0c;印度作为全球最大的大米出口国&#xff0c;因为干旱导致大米产值下降&#xff0c;政府宣告制止部分大米出口&#xff0c;引发…

接口测试自动化:简化测试流程,提升效率

接口测试自动化&#xff1a;简化测试流程&#xff0c;提升效率 什么是接口测试自动化&#xff1f; 接口测试自动化是指使用特定的工具和技术来自动化执行接口测试的过程。通过编写脚本&#xff0c;自动化工具可以模拟用户与软件系统的交互&#xff0c;验证接口的功能和性能。…

Java SPI介绍

SPI Java SPI : Service Provider Interface 是Java平台提供的一种机制&#xff0c;用于动态的加载和扩展功能的机制&#xff0c;它为框架和库提供了一种松耦合的扩展方式&#xff0c;核心是解耦。 例如JDBC驱动&#xff0c;日志框架&#xff0c;等应用&#xff0c;它为开发…

【Axure教程】账单列表和详情

账单列表和详情页在支付系统中不仅是用户了解财务状况和跟踪交易的关键工具&#xff0c;还有助于提高支付安全性、解决问题以及满足法律和财务要求。因此&#xff0c;设计一个清晰、易用且功能丰富的账单管理系统对于支付系统的成功运营和用户满意度至关重要。 今天作者就教大…

端点中心(Endpoint Central)的软件许可证管理

软件许可证管理 &#xff08;SLM&#xff09; 是从单个控制台管理整个组织中使用的软件许可证的过程。软件许可证是由软件发行商或分销商制作的法律文件&#xff0c;提供有关软件使用和分发的规则和指南&#xff0c;本文档通常包含条款和条件、限制和免责声明。 软件许可证管理…

原型和原型链理解

这个图大概能概括原型和原型链的关系 1.对象都是通过 _proto_ 访问原型 2.原型都是通过constructor 访问构造函数 3.原型是构造函数的 prototype 4.原型也是对象实例 也是通过 _proto_ 访问原型(Object.prototype) 5.Object.prototype的原型通过 _proto_ 访问 为null 那么…

全排列——力扣46

文章目录 题目描述解法:回溯题目描述 解法:回溯 //version 1 vector<vector<int>> permute(<

运动耳机什么样式的好、比较好的运动耳机推荐

在各类耳机中&#xff0c;运动耳机可以说是适用场景针对性较强的一类耳机。毕竟在运动场景中&#xff0c;对耳机的某些性能要求比较高&#xff0c;如防水能力、佩戴稳定性等等&#xff0c;一般的非运动耳机很难满足这些需求。寻找一款合适的蓝牙运动耳机并不困难。相比普通蓝牙…

python项目virtualenv环境部署正式项目和后台运行实践

pycharm创建virtualenv环境的项目&#xff1a; 在本地虚拟环境项目路径下生成依赖包记录文件&#xff0c;然后上传到linux 服务器项目路径下&#xff1a; 注意注意&#xff1a;要在虚拟环境中生成&#xff0c;才能将所有的项目依赖包构建在 requirements.txt文件中。 pip3 fre…

黑客(自学)

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员&#xff08;以编程为基础的学习&#xff09;再开始学习 行为&#xff1a;从编程开始掌握&#xff0c;前端后端、通信协议、什么都学。 缺点&#xff1a;花费时间太长、实际向安全过渡后可用到的关键知识并不多。…

Java【算法 04】HTTP的认证方式之DIGEST认证详细流程说明及举例

HTTP的认证方式之DIGEST 1.是什么2.认值流程2.1 客户端发送请求2.2 服务器返回质询信息2.2.1 质询参数2.2.2 质询举例 2.3 客户端生成响应2.4 服务器验证响应2.5 服务器返回响应 3.算法3.1 SHA-2563.1.1 Response3.1.2 A13.1.3 A2 3.2 MD53.2.1 Request-Digest3.2.2 A13.2.3 A2…

SQL | 过滤数据

4-过滤数据 4.1-使用WHERE子句 数据根据 WHERE 子句中指定的搜索条件进行过滤。WHERE 子句在表名&#xff08; FROM 子句&#xff09;之后给出。 select prod_name,prod_price from products where prod_price 3.49; 上述语句查询价格为3.49的行&#xff0c;然后输出名字和…

多路复用select实现

select函数 int select(int nfds, fd_set *readfds,fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);nfds:是三个集合中编号最高的文件描述符&#xff0c;加上1readfds/writefds/exceptfds: 可读集合/可写集合/异常集合timeout NULL&#xff1a;永久阻塞0&…

JS 解决鼠标悬浮显示弹窗 迅速离开时弹窗显示到其他位置的延迟问题

解决该问题的思路就是&#xff0c;判断当前鼠标的位置是否在某个div上&#xff0c;如果在这个div上则取消显示悬浮弹窗消息。 首先监听鼠标的移动事件 鼠标移动时判断是否在div里面进行移动了 clientX表示鼠标X的位置 client Y表示鼠标Y的位置 拿到要判断的div元素 获取off…

【Uni-App】uview 开发多端应用,密码显示隐藏功能不生效问题

出现的问题&#xff1a; 使用uview组件u-input框密码绑定时会出现右侧密码显隐图标不显示的问题 思路&#xff1a; 1.看了下uview源码&#xff0c;发现这有一段注释&#xff0c;我们需要把源码修改一下&#xff0c;问题出在这里 这行代码修改为 :password"password || …

spring按条件注入@Condition及springboot对其的扩展

概述 spring的ioc极大的方便了日常开发&#xff0c;但随着业务的迭代。配置的一些参数在某些情况下需要按条件注入。 比如原先定义的db公共模块下&#xff0c;相关的配置和工具类只是基于mysql的。但是后续有模块需要使用mongo/es等其他数据库&#xff0c;又想继续使用db公共…

七. 定时器

定时器 1. EPIT定时器(1) 特征&#xff1a;(2) 结构&#xff1a;(3) 工作模式&#xff1a;(4) 寄存器(5) 配置步骤(6) 定时器消抖 2. GPT 定时器(1) 特征(2) 结构(3) 工作模式(4) 寄存器<1> GPTx_CR 配置<2> GPTx_PR 分频<3> GPTx_SR 状态<4> GPTx_CNT…