3.云原生之kubesphere运维

文章目录

  • k8s节点状态介绍
  • 配置宿主机使用k8s内部域名
  • 使用KubeKey 升级kubesphere
  • 使用KubeKey添加节点
  • 使用KubeKey下架节点
  • 使用k8s命令添加新节点
  • k8s集群备份与恢复
    • 环境准备
    • 备份与还原
      • 在集群A和B中安装Velero
      • 集群A备份操作
      • 集群B还原备份操作

注意:所有节点运维操作前建议使用 Velero 来备份和迁移 Kubernetes 资源以及持久化存储卷

k8s节点状态介绍

在 Kubernetes 中,节点(Node)是集群中的工作节点,用于运行容器化应用程序。节点状态描述了节点的运行状况和可用性。以下是 Kubernetes 中节点状态的一些常见指标:

  1. Ready(就绪):表示节点已经准备好接受工作负载。节点必须处于就绪状态才能被调度器选择来运行容器。
  2. NotReady(未就绪):表示节点当前不可用或无法接受新的工作负载。可能是由于节点上的故障、网络问题或其他原因导致的。
  3. OutOfDisk(磁盘空间不足):表示节点的磁盘空间不足,无法继续运行容器。
  4. MemoryPressure(内存压力):表示节点的内存资源不足,无法继续运行容器。
  5. DiskPressure(磁盘压力):表示节点的磁盘资源不足,无法继续运行容器。
  6. PIDPressure(进程数压力):表示节点上的进程数已达到限制,无法继续运行容器。
  7. NetworkUnavailable(网络不可用):表示节点的网络连接不可用,无法与其他节点或服务通信。
  8. Unschedulable(不可调度):表示节点当前被标记为不可调度,即调度器不会将新的工作负载分配到该节点上。

这些节点状态可以通过运行 kubectl get nodes 命令来查看,其中的 STATUS 列会显示节点的状态信息。

配置宿主机使用k8s内部域名

参考:k8s篇-集群内的DNS原理与配置和K8s hosts 解析 HostAliases
集群node节点上的进程,如果希望能够访问到集群内的服务,可以修改node节点上的/etc/resolv.conf文件中的nameserver配置,将nameserver指定为集群coredns的ClusterIP来达到目的。

  1. 查找coredns的ClusterIP

image.png

  1. 修改resolv.conf文件:
vi /etc/resolv.conf# 修改内容如下
nameserver 10.20.0.3
nameserver 114.114.114.114
nameserver 8.8.8.8   

resolv.conf 内容顺序影响:
在 CentOS 中,/etc/resolv.conf 文件用于配置系统的 DNS 解析器。该文件中的内容顺序确实会影响 DNS 解析的行为。
/etc/resolv.conf 文件可以包含多个 DNS 服务器的 IP 地址,并且按照顺序进行解析。当系统需要解析主机名时,它会按照文件中列出的 DNS 服务器的顺序进行查询,直到找到可用的 DNS 服务器或解析成功。

  1. 测试:
ping redis.kubesphere-system.svc.cluster.local

这样配置后jumpserver部署可以考虑使用docker-compse的部署方式,官网安装参考:离线安装 - JumpServer 文档

使用KubeKey 升级kubesphere

注意:升级不能跨版本,如v3.3.x 的集群集群升级到v3.4.x 的集群,需将集群挨版本升级到v3.3.x。

运行以下命令,将您的集群升级至 KubeSphere 3.4 和 Kubernetes v1.22.12:

# 在安装篇已经生成sample.yaml文件
./kk upgrade --with-kubernetes v1.22.12 --with-kubesphere v3.4.1 -f sample.yaml

若是担心新版配置文件和当前版本存在差异,可重新下载KubeKey进行对修改配置

使用KubeKey添加节点

官方文档:添加新节点
修改生成的配置文件config-sample.yaml,添加如下配置image.png

./kk add nodes -f config-sample.yaml

执行上述命令出现:参考安装篇在ksnode27节点上安装前置依赖
image.png
重新执行等待安装,出现如下信息则安装成功
image.png
验证安装结果
image.png
image.png

使用KubeKey下架节点

删除节点

# 查看集群节点
kubectl get node -o wide
# <nodeName>为下架节点名称
./kk delete node <nodeName> -f config-sample.yaml

当出现如下信息则下架成功:
image.png
验证下架是否成功:
image.png
image.png
使用k8s命令优雅下架节点
k8s 下线node正确处理姿势
:::info
在 Kubernetes 集群中下架节点需要执行以下步骤:
:::
标记节点不可调度:在下架节点之前,你需要将节点标记为不可调度,以防止 Kubernetes 在该节点上调度新的 Pod。你可以使用以下命令将节点标记为不可调度:
转移 Pod:在将节点下架之前,你需要将节点上的 Pod 转移到其他节点上。你可以使用以下命令将节点上的 Pod 转移到其他节点上:
从集群中删除节点:在将节点下架并转移 Pod 后,你可以将节点从 Kubernetes 集群中删除。你可以使用以下命令将节点从集群中删除:

  1. 查看集群节点
kubectl get node -o wide
  1. 节点不可调度
kubectl cordon <node-name>

在上面的命令中, 是要下架的节点的名称。

节点重新调度:

kubectl uncordon <node-name>
  1. 节点驱逐
kubectl drain <node-name>

在上面的命令中, 是要下架的节点的名称。kubectl drain 命令将停止节点上的所有 Pod,并将它们转移到其他节点上。如果你希望在转移 Pod 之前强制删除它们,可以使用 --force 和 --delete-local-data 标志。

  1. 节点下架
kubectl delete node <node-name>

在上面的命令中, 是要下架的节点的名称。
完成上述步骤后,节点将被从 Kubernetes 集群中删除,并且该节点上的 Pod 将被转移到其他节点上。请注意,在将节点下架之前,你需要确保节点上的所有应用程序都已停止,并且在下架节点期间不会有任何重要的任务运行。

使用k8s命令添加新节点

要将新节点添加到 Kubernetes 集群中,需要完成以下步骤:

  1. 安装 Kubernetes 软件和依赖项:在新节点上安装 Docker 和 Kubernetes 软件,以便在该节点上运行容器和管理集群。
  2. 加入集群:使用 kubeadm join 命令将新节点加入到 Kubernetes 集群中。在加入集群之前,需要获取 kubeadm join 命令的参数,这些参数可以从运行 kubeadm init 命令时生成的输出中获取。在新节点上执行以下命令:
kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash <hash>

在上面的命令中, 是 Kubernetes 控制平面节点的主机名或 IP 地址, 是 Kubernetes 控制平面节点的端口号, 是加入集群所需的令牌, 是用于发现集群的 CA 证书哈希。这些参数可以从运行 kubeadm init 命令时生成的输出中获取。

  1. 验证节点状态:使用 kubectl get nodes 命令验证新节点已成功添加到 Kubernetes 集群中。在节点成功加入集群后,节点状态应为 Ready。
  2. 在将新节点添加到 Kubernetes 集群之前,你需要确保新节点具有与其他节点相同的操作系统、软件和配置。否则,在节点加入集群后可能会出现不兼容或不一致的情况,从而导致集群出现问题。

k8s集群备份与恢复

备份源环境的多节点 KubeSphere 集群 A,在目标环境上恢复此多节点 KubeSphere 集群。

注意:建议定期备份,或在节点运维前进行备份
参考:Velero Kubernetes备份恢复之velero实战

环境准备

  1. 源集群 A (master, node1, node2):已经部署 KubeSphere-v3.0.0
  2. 目标集群 B (master, node1, node2): 已经部署 Kubernetes-v1.17.9
  3. 独立的对象存储 Minio (虚机)
  4. 虚机操作系统:Centos 7

备份与还原

在集群A和B中安装Velero

  1. 安装Velero

image.png
image.png

  1. 进入解压目录,创建Velero和minio的凭证

image.png

  1. 创建备份目标源

image.png

集群A备份到minio,集群B从minio恢复

集群A备份操作

  1. 【集群A master上操作】首先备份存储对象文件,因为还原的时候不会生成存储对象
kubectl get sc local -o yamlopenebs-sc.yaml
  1. 【集群A master上操作】将存储对象文件拷贝到集群B master上
scp -r openebs-sc.yaml root@192.168.0.8:/root/
  1. 查看mster端的污点

image.png

  1. 取消master端的污点

image.png

  1. 查看PV挂载情况

image.png

  1. 注释挂载PV【没挂载才能备份】

image.png

  1. 备份名称空间

image.png
image.png

集群B还原备份操作

  1. 查看备份资源,确认还原顺序

image.png

  1. 还原kube-system数据

image.png 查看pod,还原情况
image.png

  1. 还原不会创建存储对象,需手动创建

image.png
查看状态
image.png

  1. 还原污点

image.png

  1. 还原kubesphere-system数据

image.png

  1. 还原kubesphere-controls数据

image.png

  1. 还原kubesphere-monitoring命名空间数据

image.png

  1. 还原test空间数据

image.png

  1. 查看还原状态

image.png

  1. 登录ks验证还原情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/308057.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钡铼技术集IO数据采集可编程逻辑控制PLC无线4G环保物联网关

背景 数据采集传输对于环保企业进行分析和决策是十分重要的&#xff0c;而实时数据采集更能提升环保生产的执行力度&#xff0c;从而采取到更加及时高效的措施。因此实时数据采集RTU成为环保企业的必备产品之一。 产品介绍 在推进环保行业物联网升级过程中&#xff0c;环保RTU在…

2023年高级软考系统架构师考题参考

对于一些有实践经验的同学来说&#xff0c;感觉不难&#xff0c;但是落笔到纸面上&#xff0c;就差强人意了&#xff0c;平时这方面要多练习&#xff0c;所想所思要落到纸面上&#xff0c;或者表达清晰让别人听懂&#xff0c;不仅是工作中的一个基本素质&#xff0c;也是个非常…

Eureka注册

一、Eureka的作用 Eureka是一个服务注册与发现的工具&#xff0c;主要用于微服务架构中的服务发现和负载均衡。其主要作用包括&#xff1a; 服务提供者将自己注册到Eureka Server上&#xff0c;包括服务的地址和端口等信息。服务消费者从Eureka Server上获取服务提供者的地址…

云计算:OpenStack 配置云主机实例的存储挂载并实现外网互通

目录 一、实验 1. 环境 2.配置存储挂载 3.云主机实例连接外部网络&#xff08;SNAT&#xff09; 4.外部网络连接云主机实例&#xff08;DNAT&#xff09; 二、问题 1.云主机 ping 不通外部网络 2.nova list 查看云主机列表报错 3.nova list 与 virsh list --all有何区…

cdn引入React以及React-dom—数组遍历渲染时setExtraStackFrame报错

在引入react官网提供的cdn后&#xff0c;部分静态页面没有问题&#xff0c;但是使用到 一下循环的页面则会报错。 const devReactCdn [https://unpkg.com/react18/umd/react.development.js,https://unpkg.com/react-dom18/umd/react-dom.development.js, ]; const prodReact…

鸿蒙原生应用再添新丁!爱奇艺入局鸿蒙

鸿蒙原生应用再添新丁&#xff01;爱奇艺 入局鸿蒙 来自 HarmonyOS 微博12月29日消息&#xff0c;#爱奇艺完成鸿蒙原生应用Beta版#作为中国头部在线视频平台&#xff0c;爱奇艺 完成鸿蒙原生应用Beta版&#xff0c;将以丰富的正版高清视频资源促进鸿蒙生态的进一步繁荣&#x…

普中STM32-PZ6806L开发板(HAL库函数实现-无源蜂鸣器响动)

简介 本篇将驱动无源蜂鸣器进行5KHz的响动。电路原理图 蜂鸣器电路原理图 主芯片驱动引脚原理图 其他知识 蜂鸣器类型 蜂鸣器分为 有源蜂鸣器 &#xff1a;触发就会响。 无源蜂鸣器 : 需要给源, 输出一定频率的音频信号&#xff0c; 震动发声; 占空比 为什么占空比总是5…

【重磅新品】小眼睛科技推出紫光同创盘古系列FPGA开发板套件,盘古200K开发板,紫光同创PG2L200H,Logos2系列

FPGA&#xff0c;即现场可编程门阵列&#xff0c;作为可重构电路芯片&#xff0c;已经成为行业“万能芯片”&#xff0c;在通信系统、数字信息处理、视频图像处理、高速接口设计等方面都有不俗的表现。近几年&#xff0c;随着国家战略支持和产业发展&#xff0c;国产FPGA迎来迅…

共享单车之数据分析

文章目录 第1关&#xff1a;统计共享单车每天的平均使用时间第2关&#xff1a;统计共享单车在指定地点的每天平均次数第3关&#xff1a;统计共享单车指定车辆每次使用的空闲平均时间第4关&#xff1a;统计指定时间共享单车使用次数第5关&#xff1a;统计共享单车线路流量 第1关…

GLTF编辑器-位移贴图实现破碎的路面

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图是一种可以用于增加模型细节和形状的贴图。它能够在渲染时针…

【无标题】《巴黎图书馆》,又发现一本书

我喜愛看的书(https://img-blog.csdnimg.cn/8cd84d33e6724f09a46831f75abe6464.jpg)在这里插入图片描述

帆软FineBi V6版本经验总结

帆软FineBi V6版本经验总结 BI分析出现背景 ​ 现在是一个大数据的时代&#xff0c;每时每刻都有海量的明细数据出现。这时大数据时代用户思维是&#xff1a;1、数据的爆炸式增长&#xff0c;人们比起明细数据&#xff0c;更在意样本的整体特征、相互关系。2、基于明细的“小…