2023年最新版的CKA考试真题

简介: 2023年最新版的CKA考试真题

1、考核知识:基于角色访问控制

题目内容

题目内容中文解释

Context

       为部署流水线创建一个新的 ClusterRole 并将其绑定到范围为特定的 namespace 的特定ServiceAccount。

Task

       创建一个名为 deployment-clusterrole 的 clusterrole,该 clusterrole 只允许Deployment、Daemonset、Statefulset 具有 create 权限,在现有的 namespace app-team1 中创建一个名为 cicd-token 的新 ServiceAccount。限于 namespace app-team1 中,将新的 ClusterRole deployment-clusterrole 绑定到新的 ServiceAccount cicd-token。

官方文档搜索关键字:RBAC

https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/

做题解答

# 考试时执行,切换集群。模拟环境中练习不需要执行。真实考试环境会提示你切换kubectl config use-context k8s
kubectl create clusterrole  deployment-clusterrole \
--verb=create  --resource=deployments,daemonsets,statefulsets
kubectl create sa cicd-token -n app-team1
# 题目中写了 “限于 namespace app team1 中”,则创建 rolebinding,没有写的话,#则创建clusterrolebinding;rolebinding #后面的名字 rb-cicd-token 随便起的,因为题目中没有要求,如果题目中有要求,就不能随便起了。kubectl create rolebinding rb-cicd-token 
\ --clusterrole=deployment-clusterrole 
\ --serviceaccount=app-team1:cicd-token 
\ --namespace=app-team1

2、考核知识:节点维护-指定 node 节点不可用

题目内容

题目内容中文解释

Task切换 k8s 集群环境:kubectl config use-context ek8s

将 ek8s-node-1 节点设置为不可用,然后重新调度该节点上的所有 Pod。

官方文档搜索关键字:drain-node

有关更多细节,请参阅

https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands/#drain

https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/safely-drain-node/#use-kubectl-drain-to-remove-a-node-from-service

做题解答

  • cordon 停止调度,将 node 调为 SchedulingDisabled。新 pod 不会被调度到该 node,但在该node 的旧 pod 不受影响。
  • drain 驱逐节点。首先,驱逐该 node 上的 pod,并在其他节点重新创建。接着,将节点调为SchedulingDisabled。

kubectl config use-context ek8s
kubectl cordon ek8s-node-1
kubectl drain cka-node1 --delete-emptydir-data--ignore-daemonsets--force

3、考核知识:K8s 版本升级

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context mk8s

Task

       现有的 Kubernetes 集群正在运行版本 1.23.1。仅将 master 节点上的所有 Kubernetes 控制平面和节点组件升级到版本 1.23.2。(注意,考试时的集群可能为 1.23.0,会让你从 1.23.0 升级为 1.23.1。甚至是 1.22.1 升级为 1.22.2。所以敲命令时,具体要升级的版本,根据题目要求更改。)

确保在升级之前 drain master 节点,并在升级后 uncordon master 节点。

可以使用以下命令,通过 ssh 连接到 master 节点:

ssh master01

可以使用以下命令,在该 master 节点上获取更高权限:

sudo -i

       另外,在主节点上升级 kubelet 和 kubectl。请不要升级工作节点,etcd,container 管理器,CNI 插件, DNS 服务或任何其他插件。

官方文档搜索关键字:upgrade

https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/#determine-which-version-to-upgrade-to

做题解答

## 切换集群kubectl config use-context mk8s
# 查看节点信息kubectl get nodes 
# 将节点标记为不可调度并驱逐所有负载,准备节点的维护:kubectl cordon master01
kubectl drain master01 --delete-emptydir-data--ignore-daemonsets--force# 在考试环境中 ssh 到 master 节点,并切换到 root 下ssh master01
sudo-i#升级控制平面节点# 升级 kubeadmapt update
# 找到题目要求升级到的指定版本 apt-cache madison kubeadm | grep1.23.2
# 安装正常的版本apt-get install kubeadm=1.23.2-00
# 验证下载操作正常,并且 kubeadm 版本正确kubeadm version
# 验证升级计划:此命令检查你的集群是否可被升级,并取回你要升级的目标版本。 命令也会显示一个包含组件配置版本状态的表格。kubeadm upgrade plan
# 排除 etcd,升级其他的kubeadm upgrade apply v1.23.2 --etcd-upgrade=false# 升级 kubelet 和 kubectlapt-get install kubelet=1.23.2-00 kubectl=1.23.2-00
# 考试环境中退出 root,退回到 student@master01[root @master 01 ] # exit# 考试环境中退出 master01,退回到 student@node-1[student @master 01 ] $ exit# 不要输入 exit 多了,否则会退出考试环境的。# 解除节点的保护 root@cka-master1:~# kubectl uncordon cka-master1 # 检查 master1 是否为 Readyroot@cka-master1:~# kubectl get nodes


4、考核知识:ETCD 数据备份恢复

注意:真实考试时,第 3 题是“升级集群”那道题。建议真正考试时,前 4 道题按照顺序做,特别是第 4 题,且做完后不要再修改,做完第 3 道题,如果没有 exit 退出到 student@node-1,则无法执行 etcdctl 命令,另外这道题没有切换集群,用的是第 3 道题的集群,所以,这道题做完就不要在回来检查或者操作了。etcd 不建议放到最后做,如果最后做,etcd 备份还原可能把所有 pod 都清空了,这个问题有可能会出现,所以前 4 道题按照顺寻做

题目内容

题目内容中文解释

此项目无需更改配置环境,但是,在执行此项目之前,请确保您已返回初始节点。etcd 这道题真实考试为第 4 题,用的集群是真实考试时的上一题的集群,即真题第 3 题 mk8s,所以无需再切换集群了。

Task

       首先,为运行在 https://127.0.0.1:2379 上的现有 etcd 实例创建快照并将快照保存到 /srv/data/etcd-snapshot.db 文件。

       为给定实例创建快照预计能在几秒钟内完成。 如果该操作似乎挂起,则命令可能有问题。用 CTRL + C 来取消操作然后重试。

然后还原位于 /var/lib/backup/etcd-snapshot-previous.db 的现有先前快照。

提供了以下 TLS 证书和密钥,以通过 etcdctl 连接到服务器:

   CA证书: /opt/KUIN00601/ca.crt

   客户端证书: /opt/KUIN00601/etcd-client.crt

   客户端密钥: /opt/KUIN00601/etcd-client.key

官方文档搜索关键字:upgrade-etcd

https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster

做题解答

考试时确认一下 ssh 终端,是在 [student@node-1] $ 下

备份:

  • 如果不使用 export ETCDCTL_API=3,而使用 ETCDCTL_API=3,则下面每条 etcdctl 命令前都要加ETCDCTL_API=3
  • 如果执行时,提示 permission denied,则是权限不够,命令最前面加 sudo 即可。
exportETCDCTL_API=3# 先检查考试环境有没有题目说的目录 /srv/data/,没有的话则需要自己创建mkdir-pv /srv/data/
#备份sudo  etcdctl \
--endpoints=https://127.0.0.1:2379 \
--cacert=/opt/KUIN00601/ca.crt  \   
--cert=/opt/KUIN00601/etcd-client.crt \
--key=/opt/KUIN00601/etcd-client.key \
snapshot save /srv/data/etcd-snapshot.db
#备份k8s组件yaml文件,随意新建一个目录存放mkdir /opt/backup -pcd /etc/kubernetes/manifests &&  mv kube-* /opt/backup
#还原sudoETCDCTL_API=3 etcdctl \
--endpoints=https://127.0.0.1:2379 \
--cacert=/opt/KUIN00601/ca.crt  \   
--cert=/opt/KUIN00601/etcd-client.crt \
--key=/opt/KUIN00601/etcd-client.key \
snapshot restore /var/lib/backup/etcd-snapshot-previous.db \
--data-dir=/var/lib/etcd-restore
  • --data-dir 是etcd还原到这个指定的目录下,因此要修改etcd.yml文件,etcd挂载的路径

注意:

  • 一定要使用mv命令从/etc/kubernetes/manifests把kube-*的yaml文件移走先,这样控制平面就会删除这些pod
## 将volume配置的path:/var/lib/etcd改成/var/lib/etcd-restore  volumes:
- hostPath:
      path: /etc/kubernetes/pki/etcd
      type: DirectoryOrCreate
    name: etcd-certs
- hostPath:
      path: /var/lib/etcd-restore
      type: DirectoryOrCreate
    name: etcd-data
还原组件
mv /opt/backup/*   /etc/kubernetes/manifests/
systemctl restart kubelet


5、考核知识:网络策略 NetworkPolicy

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context hk8s

Task

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

       确保新的 NetworkPolicy 允许 namespace  中的 Pods 连接到 namespace my-app 中的Pods 的 9000 端口。

进一步确保新的NetworkPolicy:

  • 不允许对没有在监听端口 9000 的 Pods 的访问
  • 不允许从不在命名空间内部的Pods访问

官方文档搜索关键字: network policy

https://kubernetes.io/zh-cn/docs/concepts/services-networking/network-policies/#networkpolicy-resource

做题解答

kubectl config use-context hk8s
# 编写一个 yaml 文件,注意先输入 ":set paste",防止复制时 yaml 文件空格错序apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: my-app
spec:
  podSelector:
    matchLabels: {}
  policyTypes:
- Ingress
  ingress:
- from:
- podSelector: {}
      ports:
- protocol: TCP
          port: 9000# 创建网络策略资源kubectl apply -f networkpolicy.yaml


6、考核知识:四层代理 service

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

       重新配置一个已经存在的 front-end 的 deployment,在名字为 nginx 的容器里面添加一个端口配置,名字为 http,暴露端口号为 80,然后创建一个 service,名字为 front-end-svc,暴露该deployment 的 http 端,并且 service 的类型为 NodePort。

官方文档搜索关键字:Server

https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/#defining-a-service

做题解答

# 检查 deployment 信息kubectl get deployments front-end
kubectl edit deployments front-end 
······
    imagePullPolicy: Always
    name: nginx
    ports:
- containerPort: 80      name: http
······
apiVersion: v1
kind: Service
metadata:
  name: front-end-svc    # 题目指定的名称spec:
  type: NodePort         # 题目指定的 service 类型  selector:
    app: nginx           # deployment 中 pod 的标签   ports:
- port: 80# 题目指定暴露的端口      targetPort: http   # 题目指定暴露的 http 端kubectl apply -fservice.yaml

7、考核知识:七层代理 ingress

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

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

名称:pong

Namespace:ing-internal

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

可以使用以下命令检查服务 hi 的可用性,该命令应返回 hi, curl -kL<INTERNAL_IP>/hi

官方文档搜索关键字:ingress

https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#the-ingress-resource

做题解答

# 检查 deployment 信息kubectl get deployments front-end
kubectl edit deployments front-end 
······
    imagePullPolicy: Always
    name: nginx
    ports:
- containerPort: 80      name: http
······
apiVersion: v1
kind: Service
metadata:  name: front-end-svc    # 题目指定的名称spec:  type: NodePort         # 题目指定的 service 类型  selector:    app: nginx           # deployment 中 pod 的标签   ports:    - port: 80           # 题目指定暴露的端口      targetPort: http   # 题目指定暴露的 http 端
kubectl apply -fservice.yaml

8、考核知识:Deployment 管理 Pod 扩缩容

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

将 loadbalancer 的 deployment 管理的 Pod 的副本数扩容成 6 个。

官方文档搜索关键字:deployment

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/deployment/#scaling-a-deployment

做题解答

kubectl config use-context k8s
kubectl scale deployment loadbalancer --replicas=6#或者kubectl edit deployment loadbalancer 
修改
replicas:6


9、考核知识:Pod 指定节点部署

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

创建一个 Pod,名字为 nginx-kusc00401,镜像地址是 nginx,调度到具有 disk=spinning 标签的节点上。

官方文档搜索关键字:nodeSelector

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-pods-nodes/#%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%B0%86%E8%A2%AB%E8%B0%83%E5%BA%A6%E5%88%B0%E4%BD%A0%E9%80%89%E6%8B%A9%E7%9A%84%E8%8A%82%E7%82%B9%E7%9A%84-pod

做题解答

kubectl get nodes --show-labels
apiVersion: v1
kind: Pod
metadata:  name: nginx-kusc00401
spec:  containers:  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:    disktype: spinning
kubectl apply -f nodeselector.yaml


10、考核知识:检查可用节点数量

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

       检查集群中有多少节点为 Ready 状态(不包括被打上 Taint: NoSchedule 的节点),之后将数量写到 /opt/KUSCO0402/kusc00402.txt。

官方文档搜索关键字:

做题解答

kubectl config use-context k8s
查看集群中状态为 Ready 的节点
kubectl get nodes | grep-w"Ready"kubectl get nodes | grep-w"Ready" | wc-l# 统计具有污点 NoSchedule 的数量kubectl describe nodes cka-master1 cka-node1 | grep"Taint" | grep"NoSchedule" | wc-l把结果写入题目中指定的文件
echo"1" > /opt/KUSCO0402/kusc00402.tx

11、考核知识:一个 Pod 封装多个容器

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

创建一个 Pod,名字为 kucc1,这个 Pod 包含 4 个容器,为 nginx、redis、memcached、consul。

官方文档搜索关键字:Pod

https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/#using-pods

做题解答

apiVersion: v1
kind: Pod
metadata:  name: kucc1
spec:  containers:  - name: nginx
    image: nginx
  - name: redis
    image: redis
  - name: memecached
    image: memecached
  - name: consul
    image: consul
kubectl config use-context k8s
kubectl apply -f pod.yaml

12、考核知识:持久卷 PersistentVolume

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context hk8s

Task

       创建一个 pv,名字为 app-config,大小为 2Gi, 访问权限为 ReadWriteMany。Volume 的类型为 hostPath,路径为 /srv/app-config。

官方文档搜索关键字:PV

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-pv

做题解答

apiVersion: v1
kind: PersistentVolume
metadata:  name:  app-config
  labels:    type: local
spec:  capacity:    storage: 2Gi
  accessModes:    - ReadWriteMany
  hostPath:    path: "/srv/app-config"
kubectl config use-context hk8s
kubectl apply -f pv.yaml


13、考核知识:PersistentVolumeClaims

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context ok8s

Task

       创建一个名字为 pv-volume 的 pvc,指定 storageClass 为 csi-hostpath-sc,大小为 10Mi。然后创建一个 Pod,名字为 web-server,镜像为 nginx,并且挂载该 PVC 至 /usr/share/nginx/html,挂载的权限为 RedWriteOnce。之后通过 kubectl edit 或者 kubectl path 将 pvc 改成 70Mi,并且记录修改记录。

官方文档搜索关键字:pvc

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-pvc

做题解答

apiVersion: v1
kind: PersistentVolumeClaim
metadata:  name: pv-volume
spec:  storageClassName: csi-hostpath-sc
  accessModes:    - ReadWriteOnce
  resources:    requests:      storage: 10Mi
---apiVersion: v1
kind: Pod
metadata:  name: web-server
spec:  volumes:    - name: html-volume
      persistentVolumeClaim:        claimName: pv-volume
  containers:    - name: web-server
      image: nginx
      volumeMounts:        - mountPath: "/usr/share/nginx/html"          name: html-volume
kubectl config use-context ok8s
kubectl apply -f pvc-pod.yaml
kubectl edit pvc pv-volume
--------  resources:
    requests:
      storage: 70Mi
  storageClassName: csi-hostpath-sc
---------


14、考核知识:查看 Pod 日志

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

       监控名为 foobar 的 Pod 的日志,并过滤出具有 unable-access-website 信息的行,然后将写入到 /opt/KUTR00101/foobar。

官方文档搜索关键字:kubectl logs

https://kubernetes.io/zh-cn/docs/reference/kubectl/#%E7%A4%BA%E4%BE%8B-%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C

做题解答

kubectl config use-context k8s
kubectl logs foobar | grep unable-access-website > /opt/KUTR00101/foobar

15、考核知识:Sidecar 代理

题目内容

题目内容中文解释

Context

       将一个现有的 Pod 集成到 Kubernetes 的内置日志记录体系结构中 (例如 kubectl logs)。添加 streaming sidecar 容器是实现此要求的一种好方法。

Task

       使用 busybox lmage 来将名为 sidecar 的 sidecar 容器添加到现有的 Pod legacy-app 上,新的 sidecar 容器必须运行以下命令:

/bin/sh -c tail -n+1 -f /var/log/legacy-app.log

使用 volume 挂载 /var/log/ 目录,确保 sidecar 能访问 /var/log/legacy-app.log 文件。

官方文档搜索关键字:logging

https://kubernetes.io/zh-cn/docs/concepts/cluster-administration/logging/#%E5%85%B7%E6%9C%89%E6%97%A5%E5%BF%97%E4%BB%A3%E7%90%86%E5%8A%9F%E8%83%BD%E7%9A%84%E8%BE%B9%E8%BD%A6%E5%AE%B9%E5%99%A8

做题解答

16、考核知识:查看 Pod 的 cpu

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context k8s

Task

       找出标签是 name=cpu-user 的 Pod,并过滤出使用 CPU 最高的 Pod,然后把它的名字写在已经存在的 /opt/KUTR00401/KUTR00401.txt 文件里(注意他没有说指定 namespace,所以需要使用 -A 指定所有 namespace)。

官方文档搜索关键字:kubectl top pod

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/assign-memory-resource/#specify-a-memory-request-and-a-memory-limit

做题解答

kubectl config use-context k8s
#分步执行kubectl top pod -A-lname=cpu-user --sort-by=cpu -A将查到的 pod 名字写入 /opt/KUTR00401/KUTR00401.txt 文件中
echo"podname" >  /opt/KUTR00401/KUTR00401.txt
#一步执行kubectl top pods -A-lname=cpu-user  \
--sort-by=cpu | tail -n+2 | head -1 | awk'{print $2}' \
>  /opt/KUTR00401/KUTR00401.txt

17、考核知识:集群故障排查 - kubelet 故障

题目内容

题目内容中文解释

切换 k8s 集群环境:kubectl config use-context wk8s

Task

       一个名为 wk8s-node-0 的节点状态为 NotReady,让其他恢复至正常状态,并确认所有的更改开机自动完成。

可以使用以下命令,通过 ssh 连接到 wk8s-node-0 节点:ssh wk8s-node-0

可以使用以下命令,在该节点上获取更高权限:sudo -i

做题解答

kubectl config use-context wk8s
ssh wk8s-node-0 
sudo-isystemctl status kubelet
systemctl restart kubelet
systemctl enable kubelet
systemctl status kubelet

参考文档

https://blog.csdn.net/weixin_46560589/article/details/128533308

https://blog.csdn.net/weixin_46560589/article/details/128548686

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Kubernetes Cloud Native 调度
云原生|kubernetes|CKA真题解析-------(1-5题)
云原生|kubernetes|CKA真题解析-------(1-5题)
1345 0
|
存储 Prometheus Kubernetes
k8s安装kube-promethues(超详细)
k8s安装kube-promethues(超详细)
7909 0
k8s安装kube-promethues(超详细)
|
SQL 关系型数据库 MySQL
远程访问GitLab内置的PostgreSQL数据库
业务系统需要接入GitLab,业务系统以及GitLab都有一套各自的用户系统,需要实现同一套账户密码的话需要将数据同步给GitLab(主要是密码),然而由于GitLab安全策略,通过api进行同步GitLab用户数据并不满足需求,所以需要能直接访问GitLab数据库进行数据修改。
远程访问GitLab内置的PostgreSQL数据库
|
Kubernetes 容器 Perl
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
【kubernetes】解决: kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = faile...
18730 0
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
1506 0
|
Kubernetes 应用服务中间件 nginx
鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
Rainbond V6 国产化部署教程,针对鲲鹏 CPU + 麒麟 V10 的离线环境,手把手教你从环境准备到应用上线,所有依赖包提前打包好,步骤写成**傻瓜式**操作指南。别说技术团队了,照着文档一步步来,让你领导来都能独立完成部署。
鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程
|
Kubernetes 应用服务中间件 nginx
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)(上)
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)
53472 30
|
存储 Kubernetes API
k8s学习-ConfigMap(创建、使用、更新、删除等)
k8s学习-ConfigMap(创建、使用、更新、删除等)
4175 0
|
Kubernetes Cloud Native Java
灰度发布、蓝绿部署、金丝雀都是啥?
在滚动部署中,应用的新版本逐步替换旧版本。实际的部署发生在一段时间内。在此期间,新旧版本会共存,而不会影响功能和用户体验。这个过程可以更轻易的回滚和旧组件不兼容的任何新组件。
灰度发布、蓝绿部署、金丝雀都是啥?
|
存储 Linux 持续交付
史上最全 Terraform 入门教程,助你无坑入门!
【10月更文挑战第26天】这是一个全面的 Terraform 入门教程,涵盖了 Terraform 的基本概念、安装步骤、基础配置、变量和输出变量的使用、模块的定义与使用,以及状态管理。通过实例讲解如何创建本地文件资源和 AWS S3 桶,帮助初学者快速上手并掌握 Terraform 的核心功能。
4492 8