跳到主要内容

2 篇博文 含有标签「CKA」

查看所有标签

CKA之路

· 阅读需 3 分钟

接触kubernetes已经有2年多了,这段时间里云原生的概念慢慢被普及,许多公司纷纷走上了上云的路上,使用kubernetes去管理生产上面的应用,kubernetes的使用正在爆炸式地增长。Linux基金会和云原生计算基金会(CNCF)为帮助开发Kubernetes生态系统创建了Certified Kubernetes Administrator简称CKA。

刚开始知道这个认证的时候,也没有想过去考,而且但是考的话,国内是没有考场的,只能用自己的电脑科学上网打开web terminal,延迟应该挺厉害的。

直到今年国内才有考场试运行CKA考试。第一阶段的试运行,我知道的时候已经过时了,但是也还是没有想考的想法。时间来到8月,第二阶段的试运行来了,纠结了几天,结果还是按下了支付的按钮。看了一下那些基础课程对我没有什么用,毕竟我是有基础的嘛,搞了2年也不是白混的啦。看了一下时间要在9月30号之前完成考试。接下来的日子可能要熬熬夜了。

接下来我在网上搜了一圈,发现有些不错的视频

看完2个视频,我已经飘了,感觉可以去考试了。因为发现这个认证难度其实并不大,主要是熟练一些命令,深刻了解kubernetes的运作机制。对于已经接触2年kubernetes的我而言,问题已经不大。现在主要就是练速度了,毕竟考试时间是3个小时。

接下来我在网上搜索了一些CKA的考题,不断的练习就是了。下面链接是我为知笔记记录的题目:

CKA题库

考试小技巧:

  • 考试过程可以打开一个记事本,可以把一些常用的模版复制到这里来,便于后续题目修改编辑,快速创建。
  • 熟悉文档https://kubernetes.io/docs/home/ 毕竟很多东西,考试的时候忘记了,也可以在这里搜索出来。
  • 有时候看中文题目可能翻译不太准确,切换英文的看一次,确保自己理解与实际题目一致。

在考试前几天,我发现了一个网站,这个网站简直了,不过是全英文,而且不带字幕的,是一个国外的学习网站,这个网站可以秒杀上面2个视频。我看中它的是有模拟考试,我的天!二话不说,直接支付35刀。前提是你要有一张外币信用卡噢。

KodeKloud

如果你在10月5号看到这篇文章。发邮件(popmusicbbq@126.com)给我,友情分享账号。毕竟我只买了一个月。

意外总会有的,我考试的时候网页502,还有3题没有做,​我也是服了。都打算申请重考了。果然试运行就是这样呀。

考试结果

可是实力不允许呀,过了几天居然我收到了通过的邮件,Surprise!

通过邮件

TLS Bootstrapping Worker Nodes

· 阅读需 2 分钟

step 1

kube-systemnamespace下创建一个secret,名字格式:bootstrap-token-<token>

cat > bootstrap-token-05832d.yaml << EOF
apiVersion: v1
kind: Secret
metadata:
name: bootstrap-token-05832d
namespace: kube-system
type: bootstrap.kubernetes.io/token
stringData:
token-id: 05832d
token-secret: x262bbbe835dx21k
usage-bootstrap-authentication: "true"
usage-bootstrap-signing: "true"
auth-extra-groups: system:bootstrappers:node03
EOF

step 2

授权节点创建CSR

kubectl create clusterrolebinding crb-bootstrappers --clusterrole=system:node-bootstrapper --group=system:bootstrappers

step 3

创建bootstrap-kubeconfig

kubectl config --kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig set-cluster bootstrap --server='https://172.17.0.77:6443' --certificate-authority=/etc/kubernetes/pki/ca.crt
kubectl config --kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig set-credentials kubelet-bootstrap --token=05832d.x262bbbe835dx21k
kubectl config --kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig set-context bootstrap --user=kubelet-bootstrap --cluster=bootstrap
kubectl config --kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig use-context bootstrap

step 4

配置kubelet.service,注意路径在/etc/systemd/system/kubelet.service

[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes

[Service]
ExecStart=/usr/bin/kubelet \
--bootstrap-kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig \
--kubeconfig=/var/lib/kubelet/kubeconfig \
--register-node=true \
--v=2
Restart=on-failure
StandardOutput=file:/var/kubeletlog1.log
StandardError=file:/var/kubeletlog2.log
RestartSec=5

[Install]
WantedBy=multi-user.target

配置好kubelet.service之后:

systemctl daemon-reload
systemctl enable kubelet
systemctl start kubelet

kubelet正常启动之后,在master节点上kubectl get csr,可以看到一个pending状态的csr,可以通过创建一个clusterrolebinding让csr自动approve csr。

step 5

自动approve csr

kubectl create clusterrolebinding crb-node-autoapprove-csr --clusterrole=system:certificates.k8s.io:certificatesigningrequests:nodeclient --group=system:bootstrappers

证书过期自动续签

kubectl create clusterrolebinding crb-node-autorotate-csr --clusterrole=system:certificates.k8s.io:certificatesigningrequests:selfnodeclient --group=system:nodes

Done !