K8S集群重新初始化--详细过程

简介: K8S集群重新初始化--详细过程

在引导k8s集群的过程时可能因为这个或那个的原因导致需要重新引导集群 。

下面整理了我在实际工作中初始化k8s集群的详细过程。

0、当前环境

k8s环境部署总览

ip地址 类型 操作系统 服务配置
192.168.162.31 Master01 Centos7.6 2核CPU 2G内存 20G硬盘
192.168.162.41 node1 Centos7.6 2核CPU 2G内存 20G硬盘
192.168.162.42 node2 Centos7.6 2核CPU 2G内存 20G硬盘

1、master节点

1.1、在master节点执行下面reset命令:

kubeadm reset

//过程会询问是否重置,输入y然后回车

1.2、手动清除配置信息,这一步很关键:

cd ~ 进入根目录
ll -a 查看是否存在.kube文件
rm -rf /root/.kube
systemctl restart docker ## 重启docker 
systemctl restart kubelet ## 重启kubelet
rm -rf /etc/cni/net.d

1.3、重新引导集群

kubeadm init xxxxxx

例如,具体按你的为准:

kubeadm init \
--apiserver-advertise-address=192.168.162.31 \
--control-plane-endpoint=k8s-master01-31 \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16

初始化master节点成功后,拷贝出关键信息:(注意是你自己的信息)

Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
  export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/
You can now join any number of control-plane nodes by copying certificate authorities
and service account keys on each node and then running the following as root:
  kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \
    --discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea \
    --control-plane 
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \
    --discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea 

1.4、创建配置目录,并复制权限配置文件到用户目录下:

mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

1.5 查看集群状态

此时就可以在master节点使用kubectl get node 查看集群状态,如果出现状态为notready

kubectl get node 

查看pod状态

1.6 安装Calico网络插件

curl https://docs.projectcalico.org/manifests/calico.yaml -O ## 或者
curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O
kubectl apply -f calico.yaml

2、work节点

2.1、重置工作节点

kubeadm reset

//过程会询问是否重置,输入y然后回车

2.2、手动删除目录

rm -rf /root/.kube
rm -rf /etc/cni/net.d
rm -rf /etc/kubernetes/*

2.3、重新加入集群

kubeadm join xxx #获取该指令可以通过在master节点上执行:kubeadm token create --print-join-command

自己生成的命令:

kubeadm join k8s-master01-31:6443 --token m7xgx0.h8m6si6ws2p0r9n6 \
    --discovery-token-ca-cert-hash sha256:f4d3af365aeabab83cf124e5a84aeb8260ae6c0d54a7f5d87928fab37a519aea

在master节点重新获取token

kubeadm token create --print-join-command

3、检验效果

在master节点查看各个node

kubectl get node

在master节点查看pod状态

kubectl get pod -A

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
1天前
|
Kubernetes 微服务 容器
Aspire项目发布到远程k8s集群
Aspire项目发布到远程k8s集群
10 2
Aspire项目发布到远程k8s集群
|
2天前
|
运维 Kubernetes 调度
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
【kubernetes】关于k8s集群的污点、容忍、驱逐以及k8s集群故障排查思路
|
2天前
|
Kubernetes 微服务 容器
Aspire项目发布到win11本地k8s集群
Aspire项目发布到win11本地k8s集群
5 0
Aspire项目发布到win11本地k8s集群
|
3天前
|
运维 Prometheus 监控
Kubernetes 集群的监控与维护策略
【5月更文挑战第30天】 在微服务架构日益普及的背景下,容器编排工具如Kubernetes成为确保服务高效运行的关键。本文聚焦于Kubernetes集群的监控和维护,首先探讨了监控系统的重要性及其对集群健康的影响,随后详细介绍了一套综合监控策略,包括节点性能监控、应用服务质量跟踪以及日志管理等方面。此外,文章还提出了一系列实用的集群维护技巧和最佳实践,旨在帮助运维人员预防故障发生,快速定位问题,并确保集群长期稳定运行。
|
3天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与日志管理实践深入理解PHP的命名空间与自动加载机制
【5月更文挑战第30天】 在容器化和微服务架构日益普及的背景下,Kubernetes 已成为众多企业的首选容器编排工具。然而,随之而来的挑战是集群的监控与日志管理。本文将深入探讨 Kubernetes 集群监控的最佳实践,包括节点资源使用情况、Pods 健康状态以及网络流量分析等关键指标的监控方法。同时,我们也将讨论日志聚合、存储和查询策略,以确保快速定位问题并优化系统性能。文中将介绍常用的开源工具如 Prometheus 和 Fluentd,并分享如何结合这些工具构建高效、可靠的监控和日志管理系统。
|
3天前
|
Prometheus 监控 Kubernetes
Kubernetes 集群的监控与维护最佳实践
【5月更文挑战第30天】 在现代云计算环境中,容器编排工具如Kubernetes已成为部署和管理微服务的关键。随着其日益广泛的应用,对集群进行有效的监控和维护显得尤为重要。本文将深入探讨Kubernetes集群监控的策略,并分享维护的最佳实践,以确保系统的稳定性和性能优化。我们将从监控工具的选择、关键指标的跟踪到故障排除流程等方面进行详细阐述,并提供实用的操作建议。
|
3天前
|
存储 运维 Kubernetes
Kubernetes 集群的持续性能优化策略
【5月更文挑战第30天】 在动态且日益复杂的云计算环境中,保持 Kubernetes 集群的高性能和稳定性是一个持续的挑战。本文将探讨一系列实用的性能优化策略,旨在帮助运维专家识别并解决可能影响集群性能的问题。我们将从节点资源配置、网络优化、存储管理以及集群监控等方面入手,提供一系列经过实践检验的调优技巧,并分享最佳实践案例。这些策略不仅有助于提升现有集群的性能,也为规划新的 Kubernetes 部署提供了参考依据。
|
3天前
|
运维 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【5月更文挑战第30天】 在动态且日益复杂的云原生环境中,维持 Kubernetes 集群的高性能运行是一个持续的挑战。本文将探讨一系列针对性能监控、问题定位及优化措施的实践方法,旨在帮助运维专家确保其 Kubernetes 环境能够高效、稳定地服务于不断变化的业务需求。通过深入分析系统瓶颈,我们不仅提供即时的性能提升方案,同时给出长期维护的策略建议,确保集群性能的可持续性。
|
4天前
|
存储 Kubernetes 监控
Kubernetes 集群的持续性能优化实践
【5月更文挑战第29天】 在动态且复杂的微服务架构中,确保应用性能的稳定性与可预测性是一大挑战。本文将探讨一系列针对 Kubernetes 集群的持续性能优化策略,涵盖监控、资源管理、调度优化和网络效率等方面。通过分析真实案例并结合最新的运维实践,我们旨在提供一套系统化的性能调优框架,帮助运维工程师有效识别瓶颈,实施优化措施,并持续追踪改进效果,从而推动企业应用向更高效、稳定的方向发展。
|
4天前
|
机器学习/深度学习 存储 监控
Kubernetes 集群的持续监控与性能优化策略深度学习在图像识别中的应用与挑战
【5月更文挑战第29天】 在当今微服务架构和容器化部署的大背景下,Kubernetes 已成为众多企业的首选平台。然而,随着集群规模的扩大和业务复杂性的增加,如何确保系统的高可用性和性能稳定性成为一个挑战。本文将探讨针对 Kubernetes 集群实施的持续监控方案以及针对性能瓶颈的优化策略,旨在帮助运维人员有效管理和提升其服务的质量。