繁体   English   中英

我的节点在EKS中被删除,我该如何恢复

[英]My nodes got deleted in EKS, how can I recover

我正在开始在机器上使用AWS-EKS演示。 我创建了一个EKS集群,Worker节点,然后将这些节点附加到集群,并在这些节点上部署了nginx服务。 第一次尝试,我可以成功完成此演示,并且能够访问负载均衡器url,并在上面部署了nginx服务。 现在,在播放实例时,我的两个节点都说node1和node2被以下命令删除了

kubectl delete node <node-name>
node "ip-***-***-***-**.ap-south-1.compute.internal" deleted

为了恢复这一点,我花了更多时间,发现负载均衡器URL为ACTIVE,两个相应的EC2实例(或工作程序节点)运行良好。 但是,下面的命令给出了这个结果

PS C:\k8s> kubectl get nodes
No resources found.
PS C:\k8s>

我尝试从入门指南中复制步骤3,但最终只能重新创建相同的工作程序节点

当我尝试在同一EC2实例或辅助节点上再次创建Pod时,它说STATUS正在等待Pod

PS C:\k8s> kubectl create -f .\aws-pod-nginx.yaml
deployment.apps/nginx created
PS C:\k8s> kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
nginx-76b782ee75-n6nwv   0/1     Pending   0          38s
nginx-76b78dee75-rcf6d   0/1     Pending   0          38s
PS C:\k8s> kubectl get pods

当我描述吊舱错误如下:

Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  52s (x5 over 4m11s)  default-scheduler  no nodes available to schedule pods

我有两个EC2实例(或工作程序节点)正在运行,我尝试将它们手动附加到ELB url,但这些EC2实例的服务状态为“ OutOfService”

我想获得以下命令的结果,该节点具有可以从ELB进行访问的工作节点,但是以下命令“未找到资源”的结果:

kubectl get nodes

您说您使用kubectl delete node <node-name>命令kubectl delete node <node-name> 我想你不想那样做。 您已从Kubernetes删除了节点,但是两个EC2实例仍在运行。 Kubernetes无法安排Pod在从集群中删除的EC2实例上运行。 将实例重新连接到群集非常困难。 您将需要具有ssh或SSM会话管理器访问权限才能登录到实例并运行命令以加入集群。

实际上,只删除旧的EC2实例并创建新的实例会容易得多。 如果您遵循AWS EKS文档来创建集群,则会创建一个ASG(Auto Scaling组或节点组),并且该ASG将创建EC2实例。 通过ASG,您可以扩展和缩小群集中EC2实例的数量。 检查是否由ASG使用AWS控制台创建了EC2实例。 使用“ EC2实例”页面,选择集群中的一个实例,然后选择“标签”选项卡以查看附加到该实例的标签。 如果实例是由ASG创建的,则将看到一个名为aws:autoscaling:groupName的标签。

如果EC2实例是由ASG创建的,则只需终止该实例,ASG就会创建一个新实例来替换它。 当新的出现时,其UserData将定义一个cloud-init脚本,该脚本会将实例加入kubernetes集群。 对使用kubectl delete node命令删除的所有节点执行此操作。

当新的EC2实例加入集群时,您将通过kubectl get nodes命令看到它们。 此时,kubernetes将能够调度pod在那些实例上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM