CKAD模拟题:4-CPU和内存请求
题目要求在现有的 namespace pod-resources中创建一个名为nginx-resources 的 Pod 。镜像为 nginx:1.16 ,为其容器指定资源请求40m的 CPU 和50Mi的内存
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/
官方示例:
12345678910111213141516---apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: app image: images.my-company.example/app:v4 resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: &quo ...
CKAD模拟题:5-CPU和内存限制
题目要求namespace haddock 中名为 nosql 的 Deployment 的 Pod 因其容器已用完资源而无法启动。
请更新 haddock Deployment ,使 Pod
为其容器请求 15Mi 的内存
将内存限制为 haddock namespace 设置的最大内存容量的 一半 。您可以在 /ckad/chief-cardinal/nosql.yaml 找到 nosql Deployment 的配置清单。
参考https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/
官方的示例
12345678910111213141516171819202122232425---apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: app image: images.my-company.example/app:v4 resources: re ...
CKAD模拟题:3-Dockerfile
题目要求一个Dockerfile 已经存在于 /ckad/DF/Dockerfile
使用已存在的 Dockerfile ,构建一个名为 centos和标签为 8.2 的容器镜像。您可以安装和使用您选择的工具。
使用您选择的工具,以 OCI 格式导出构建的容器镜像,并将其存储在 /ckad/DF/centos-8.2.tar
参考参考docker 构建
https://docs.docker.com/language/java/build-images/
解答12345678910111213141516#1.查看dockerfile文件,根据要求构建镜像/ckad/DF/Dockerfile# 1.1修改dockerfile文件FROM centos:8LABEL maintainer="test dockerfile"LABEL test=dockerfileUSER rootRUN useradd shadowRUN mkdir /opt/shadow# 1.2构建镜像cd /ckad/DF/sudo docker build -t centos:8.2 ...
CKAD模拟题:1-CronJob
题目要求1.创建一个名为 ppi 并执行一个运行以下单一容器的 Pod 的 CronJob
123- name: pi image: perl:5 command: ["perl", " Mbignum=bpi", " wle", "print bpi(2000)"]
CronJob配置 为:
每隔 5 分钟执行一次
保留 2 个已完成的 Job
保留 4 个失败的 Job
永不重启 Pod
在 8 秒后终止 Pod
2.为测试目的,从 CronJob ppi 中 手动创建并执行一个名为 ppi-test 的 Job 。
job完成与否不重要
参考https://kubernetes.io/zh-cn/docs/tasks/job/automated-tasks-with-cron-jobs/
https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/
cronjob定时与Linux的定时任务语法一致
1234567 ...
使用kubeadm部署kubernetes v1-29-2集群
0.准备最近准备开始考CKAD,之前考过了CKA,CKS,但环境有些陈旧了,现在最新版考试需要v1.29了。所以重新使用kubeadm部署一套最新版本kubernetes集群v1.29.2,用于练习模拟题。
1234567891011121314151617181920211.虚拟机环境VirtualBox6.1Linux :ubuntu20.04.3CPU 2C Memory 2G2.集群中节点网络互通3.禁用swapsudo swapoff -asudo sed -ri 's/.*swap.*/#&/' /etc/fstab4.允许 iptables 检查桥接流量cat <<EOF | sudo tee /etc/modules-load.d/k8s.confbr_netfilterEOFlsmod | grep br_netfiltersudo modprobe br_netfiltercat <<EOF | sudo tee /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6 ...
Ingress域名迁移后出口流量突增
背景某个集群需要进行资源整合下线,需要对集群上业务进行迁移,但在迁移某个带域名容器服务后,发现网络出口带宽升高了70%,域名带宽也一样增高。
ingress: 0.32.0 迁移到 ingress :1.1.3
kubernetes: 1.17.9 迁移到 kubernetes: 1.22.14
问题描述1、域名出口带宽和机房出口带宽都同步增加了1G多,但请求量,Qps:~ 8k/s,没什么变化;域名状态也正常;业务也方反馈也没有出现明显异常。
2、迁移前后ingress-nginx-controller 版本是有一个升级的,0.32.0 – > 1.1.3
根因分析1、整个域名请求拓扑如下所示
xxx.ljohn.cn – > F5 – > BFE(负载均衡) – > Ingress – > 容器pod
2、排查发现域名相应的body长度有所增加,同一个接口长度增加3倍,怀疑跟gzip压缩有关
3、于是联系最前端负载均衡是否有gzip压缩,从BFE负载均衡侧查询到是没有开启。
4、再然后查询ingress侧是否有开启gzip,发现老的ingr ...
记一次ingress重启导致异常分析
环境信息
os: centos7.9
kernel:3.10.0-1160.59.1.el7.x86_64
k8s:v1.17.16
nginx-ingress-controller:0.32.0
问题描述1、2023.7.13,下午接到监控同学反馈部分网关域名14:00有少量请求耗时大于500ms。初步查看所有异常域名均指向在一个网关专有容器集群中。
2、查看ingress该时间点出现过配置reload,并且看到有个 ingress pod重启过。
根因分析1、从如上问题描述和现象来看,正常nginx 或者ingress 配置reload 都是热更新,不应该存在阻塞,导致重启。
于是查看该容器详情如下:kubectl -n ingress-nginx describe pod ingress-nginx-controller-864979f685-clfqw
2、查看容器重启前日志:kubectl -n ingress-nginx logs -p ingress-nginx-controller-864979f685-clfqw
从pod最后14:02 日志来看,ingre ...
2022CKS安全认证模拟题
环境
版本:Kubernetes 1.23
系统:ubuntu20.04
Question 1 | Contexts
Task weight: 1%
You have access to multiple clusters from your main terminal through kubectl contexts. Write all context names into /opt/course/1/contexts, one per line.
From the kubeconfig extract the certificate of user restricted@infra-prod and write it decoded to /opt/course/1/cert.
解答:
12345# 1.很简单获取所有集群的上下文名称kubectl config get-contexts --no-headers | awk '{print $2}' > /opt/course/1/contexts# 2.使用(kubectl ...
Hexo 分类和标签
一、主题配置打开打开 themes/next/_config.yml 主题配置文件 找到 Menu Settings ,把 categories 和 tags 取消注释。
12tags: /tags/ || fa fa-tagscategories: /categories/ || fa fa-th
二、添加分类模块新建一个分类页面。$ hexo new page categories你会发现你的source文件夹下有了categories[index.md](http://index.md/),打开index.md文件将 title 设置为title: 分类
把文章归入分类只需在文章的顶部标题下方添加categories字段,即可自动创建分类名并加入对应的分类中
三、添加标签模块新建一个标签页面 。$ hexo new page tags你会发现你的source文件夹下有了tags[index.md](http://index.md/),打开index.md文件将 title 设置为title: 标签把文章添加标签只需在文章的顶部标题下方添加tags字段,即可自动创建标签名并归 ...
Kubernetes容器网络
容器是什么容器其实是一种沙盒技术。顾名思义,沙盒就是能够像一个集装箱一样,把你的应用“装”起来的技术。这样,应用与应用之间,就因为有了边界而不至于相互干扰;而被装进集装箱的应用,也可以被方便地搬到任何地方运行。对于大多数如Docker、RKT,等Linux容器,其实就是利用Linux Namespace技术创建隔离的进程空间、文件系统、网络命名空间、用户空间、主机名的一组进程。
所以说,容器,其实是一种特殊的进程而已。
一个“容器”,实际上是一个由 Linux Namespace、Linux Cgroups 和 rootfs 三种技术构建出来的进程的隔离环境。
容器优势
开销更少,无需像虚拟化一样虚拟完整的内核以及初始化环境,和启动一些多余的系统进程。
可移植性强,容器可以轻松在不同平台移植,如直接运行docker run -d --name nginx -p 80:80 nginx
高效率,开发打完包构建容器后,可以更快部署,发布
敏捷开发,更快的移植,无需担心依赖的环境不一致的问题
….
Kebernetesk8s 是什么?为什么要引入 k8s,kubernetes 其实是goo ...