Validate and test componets

标题: “验证和测试组件” 日期: 2018-09-18T16:01:14-05:00 权重: 562

检查我们看到两个基础节点:

kubectl get nodes
名称                                           状态   角色    时间    版本
ip-100-65-165-149.eu-west-1.compute.internal   就绪    <none>   2m1s   v1.27.9-eks-5e0fdde
ip-100-65-47-246.eu-west-1.compute.internal    就绪    <none>   2m1s   v1.27.9-eks-5e0fdde
ip-100-65-89-2.eu-west-1.compute.internal      就绪    <none>   2m     v1.27.9-eks-5e0fdde

使用 SSM 检查对节点的访问

我们可以在控制台中查看 SSM 代理程序访问,查看

Systems Manager然后Fleet Manager

我们应该看到两个工作节点实例和我们的 Cloud9 IDE 实例。

如果需要,我们可以启动 SSM 会话并登录到节点。

选择一个节点,节点操作连接然后启动终端会话

这提供了一种更安全的访问工作节点的方式,与允许 ssh 访问相比。它还启用了其他 Systems Manager 功能,如自动化、清单收集和修补。

现在回到我们的 Cloud9 终端,检查 kube-system 命名空间中正在运行的 pod

kubectl get pods -n kube-system
名称                                  就绪   状态    重启   时间
aws-node-56dr5                        2/2     运行   0          8m48s
aws-node-pt2xv                        2/2     运行   0          8m48s
aws-node-qsj4l                        2/2     运行   0          8m47s
coredns-cdff4fbdd-2wdl2               1/1     运行   0          8m2s
coredns-cdff4fbdd-m8p9k               1/1     运行   0          8m2s
ebs-csi-controller-6bdc76b984-9dngn   6/6     运行   0          8m1s
ebs-csi-controller-6bdc76b984-slwb2   6/6     运行   0          8m1s
ebs-csi-node-cnppc                    3/3     运行   0          8m1s
ebs-csi-node-dz6jq                    3/3     运行   0          8m1s
ebs-csi-node-qf9x4                    3/3     运行   0          8m1s
kube-proxy-5wm2f                      1/1     运行   0          8m1s
kube-proxy-784xb                      1/1     运行   0          7m54s
kube-proxy-gbfrf                      1/1     运行   0          7m50s
kubectl get pods -n amazon-cloudwatch
名称                                                              就绪   状态    重启   时间
amazon-cloudwatch-observability-controller-manager-6dbc658cldfw   1/1     运行   0          8m45s
cloudwatch-agent-9tkfg                                            1/1     运行   0          8m39s
cloudwatch-agent-kjxfp                                            1/1     运行   0          8m39s
cloudwatch-agent-xfvvf                                            1/1     运行   0          8m39s
fluent-bit-bc7lw                                                  1/1     运行   0          8m45s
fluent-bit-c8t6k                                                  1/1     运行   0          8m45s
fluent-bit-vl5dt                                                  1/1     运行   0          8m45s
kubectl get pods -n karpenter
命名空间           名称                                                              就绪   状态    重启   时间
karpenter           karpenter-67c558c5dc-ggbfl                                        1/1     运行   0          18m
karpenter           karpenter-67c558c5dc-x7ls4                                        1/1     运行   0          18m

测试 Karpenter 扩展/节点配置

 kubectl get deployment -n default
名称      就绪   最新   可用   时间
inflate   0/0     0            0           21m

将 inflate 部署扩展到测试 Karpenter 节点配置:

kubectl scale deployment inflate --replicas 10

45 秒内,我们应该看到所有 inflate pod 都在运行:

kubectl get pods 
名称                       就绪   状态    重启   时间
inflate-56d86f88df-4g4tg   1/1     运行   0          44s
inflate-56d86f88df-5dqpf   1/1     运行   0          44s
inflate-56d86f88df-7k5w7   1/1     运行   0          44s
inflate-56d86f88df-9ksqw   1/1     运行   0          44s
inflate-56d86f88df-q8nf6   1/1     运行   0          44s
inflate-56d86f88df-ql296   1/1     运行   0          44s
inflate-56d86f88df-rgj7l   1/1     运行   0          44s
inflate-56d86f88df-rmpkc   1/1     运行   0          44s
inflate-56d86f88df-rxxhg   1/1     运行   0          44s
inflate-56d86f88df-sz5dx   1/1     运行   0          44s

最后,我们应该看到 Karpenter 配置了 1 个节点:

kubectl get node -l karpenter.sh/nodepool
名称                                          状态   角色    时间   版本
ip-100-65-94-141.eu-west-1.compute.internal   就绪    <none>   16m   v1.27.9-eks-5e0fd

可选: 在 AWS 控制台的 EC2 部分找到这个节点。

将 inflate 部署缩减到零:

kubectl scale deployment inflate --replicas 0

检查没有 inflate pod 在运行

kubectl get pods
没有找到资源。

30 秒后,检查没有 Karpenter 节点配置

kubectl get node -l karpenter.sh/provisioner-name
没有找到资源