最新消息
![在这里插入图片描述](https://img-blog.csdnimg.cn/fa3d272fc938413dad68d2b32168ad6d.png)
题型
- 到目前为止,题型还是没有太大的变化,如果对于k8s零基础还是建议通过网上报班系统性的学习,如果对linux和k8s常用命令熟悉则无需报班,在某宝花个100块左右购买辅助资料就行。
最新改版
- 最新的PSI改版后,PSI浏览器开始考试后,会杀掉浏览器进程,所以之前说的在浏览器存书签的做法就没用啦,这就要求对官方文档非常熟悉
- 现在是只有一个单进程的PSI,题目和虚拟机都在里面,因为用的是ubuntu系统,所以文档查看就是内置的火狐浏览器,一般都是在题目、浏览器、文本编辑器来回切换做题。
注意事项
- 建议黑色星期五在官网购买套餐课程,基本上都是5折
![在这里插入图片描述](https://img-blog.csdnimg.cn/6b6873d984b244afb1ebb6c41da799ce.png)
- 考试最好网络好、摄像头清晰【比如我在某宝买的80块钱摄像头进行认证的时候聚不了焦,被迫换成笔记本】
- 最好使用台式电脑、屏幕大呀,我被迫换车笔记本太难受啦,切换不流畅
- 现在名字支持填写中文啦,建议参考官方文档,官方文档写得非常详细
- 其他的就参考官方文档吧,已经非常非常详细啦,一定要仔细阅读官方文档。
- https://training.linuxfoundation.cn/help
![在这里插入图片描述](https://img-blog.csdnimg.cn/550c96e8c8b24cd8aefe31ce0f1f6cd7.png)
真题解析
CKA真题解析-1
![在这里插入图片描述](https://img-blog.csdnimg.cn/2323bdc96f4a4c118635c8860677be43.png)
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,statefulsets,daemonsets
kubectl create serviceaccount cicd-token -n app-team1
kubectl create rolebinding cicd-token --clusterrole=deployment-clusterrole --serviceaccount=app-team1:cicd-token -n app-team1
CKA真题解析-2
![在这里插入图片描述](https://img-blog.csdnimg.cn/89f43946becd40a1bee0ac9db46c19e8.png)
kubectl cordon k8s-node21
kubectl drain k8s-node21 --ignore-daemonsets --delete-emptydir-data
CKA真题解析-3
kubectl drain k8s-master --ignore-daemonsets
ssh mk8s-master-0
sudo i
apt-mark unhold kubeadm
apt-get update && apt-get install -y kubeadm=1.23.1-00
apt-mark hold kubeadm
kubeadm version
kubeadm upgrade plan
kubeadm upgrade apply v1.23.1 --etcd-upgrade=false
apt-mark unhold kubelet kubectl
apt-get update && apt-get install -y kubelet=1.23.1-00 kubectl=1.23.1-00
apt-mark hold kubelet kubectl
systemctl daemon-reload
systemctl restart kubelet
exit
kubectl uncordon mk8s-master-0
kubectl get node
CKA真题解析-4
![在这里插入图片描述](https://img-blog.csdnimg.cn/ce1189861bff4a64bab2028fcf3897f6.png)
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 snapshot save /data/backup/etcd-snapshot.db
mv /etc/kubernetes/manifests/ /etc/kubernetes/manifests.bak
mv /var/lib/etcd/ /var/lib/etcd.bak
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 snapshot restore /data/backup/etcd-snapshot-previous.db --data-dir=/var/lib/etcd
mv /etc/kubernetes/manifests.bak /etc/kubernetes/manifests
CKA真题解析-5
![在这里插入图片描述](https://img-blog.csdnimg.cn/67a055487ebe48a8be088cff8150732b.png)
vi networkpolicy.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-port-from-namespace
namespace: big-corp
spec:
podSelector: {
}
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
project: corp-net
ports:
- protocol: TCP
port: 9200
kubectl apply -f networkpolicy.yaml
CKA真题解析-6
![在这里插入图片描述](https://img-blog.csdnimg.cn/977f9d49017d4120b548016d5cad70fe.png)
ports:
- name: http
protocol: TCP
containerPort: 80
kubectl expose deployment front-end --port=80 --target-port=80 --type=NodePort --name=front-end-svc
CKA真题解析-7
![在这里插入图片描述](https://img-blog.csdnimg.cn/fc73d8acaf324a049c154f55557a40b5.png)
vi ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pong
namespace: ing-internal
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /hi
pathType: Prefix
backend:
service:
name: hi
port:
number: 5678
kubectl apply -f ingress.yaml
curl -KL xxxx/hi
CKA真题解析-8
![在这里插入图片描述](https://img-blog.csdnimg.cn/1fc7cb77404541dcafe8dd76906274f4.png)
kubectl scale deployment front-end --replicas=6
CKA真题解析-9
![在这里插入图片描述](https://img-blog.csdnimg.cn/f13eaa38832b4a3f99b8e92b9b83ea51.png)
apiVersion: v1
kind: Pod
metadata:
name: nginx-kusc
spec:
containers:
- name: nginx
image: nginx
nodeSelector:
disk: ssd
CKA真题解析-10
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e91bf60118a4a67bb4b9c50401701bb.png)
kubectl describe node $(kubectl get node | grep Ready | awk '{print $1}') | grep Taint | grep -vc NoSchedule > /opt/402.txt
CKA真题解析-11
![在这里插入图片描述](https://img-blog.csdnimg.cn/ef0c9eab3a7a4d229482c0c043aa550a.png)
apiVersion: v1
kind: Pod
metadata:
name: kucc4
spec:
containers:
- name: redis
image: redis
- name: memcached
image: memcached
CKA真题解析-12
![在这里插入图片描述](https://img-blog.csdnimg.cn/333f03ce848a4a0ba4ebce110c3846d0.png)
apiVersion: v1
kind: PersistentVolume
metadata:
name: app-data
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/srv/app-data"
CKA真题解析-13
![在这里插入图片描述](https://img-blog.csdnimg.cn/3f8b5bfd5b324632a5930463f42438e9.png)
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: data
persistentVolumeClaim:
claimName: pv-volume
containers:
- name: web-server
image: nginx
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: data
kubectl edit pvc pv-volume --save-config
CKA真题解析-14
![在这里插入图片描述](https://img-blog.csdnimg.cn/09d4baee2aa74f5ebd29280358acb4e6.png)
kubectl logs bar | grep "unable-to-access-websit" >> /opt/bar
CKA真题解析-15
![在这里插入图片描述](https://img-blog.csdnimg.cn/52a82085873d45be914ce34b9eaaa3be.png)
kubectl get po big-corp-app -o yaml > big-corp-app.yaml
cp big-corp-app.yaml big-corp-app.yaml.bak
vi big-corp-app.yaml
apiVersion: v1
kind: Pod
metadata:
name: big-corp-app
spec:
containers:
- name: big-corp-app
image: busybox:1.28
args:
- /bin/sh
- -c
- >
i=0;
while true;
do
echo "$i: $(date)" >> /var/log/1.log;
echo "$(date) INFO $i" >> /var/log/2.log;
i=$((i+1)); tt etz ezzzzzzzzdfxc
done
volumeMounts:
- name: varlog
mountPath: /var/log
- name: sidecar
image: busybox
args: [/bin/sh, -c, 'tail -n+1 -f /var/log/big-corp-app.log']
volumeMounts:
- name: varlog
mountPath: /var/log
volumes:
- name: varlog
emptyDir: {
}
CKA真题解析-16
![在这里插入图片描述](https://img-blog.csdnimg.cn/954700aeae79462e8543fcb897a63256.png)
kubectl top po -A -l name=over.. --sort-by="cpu"
CKA真题解析-17
![在这里插入图片描述](https://img-blog.csdnimg.cn/602ec2c67a04495996092e866af7afb2.png)
systemctl start kubelet && systemctl enable kubelet
参考资料
有其他考试或者k8s方面的需求或者问题沟通,都可以私聊小弟。