kubeadm常用

2023-11-15

参考: https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/
在这里插入图片描述


配置kubeadm自动补全

# 配置kubeadm自动补全
source /usr/share/bash-completion/bash_completion
source <(kubeadm completion bash)
echo 'source <(kubeadm completion bash)' >>~/.bashrc
kubeadm completion bash >/etc/bash_completion.d/kubeadm

初始化一个master节点

kubeadm init

# 通过yaml初始化
kubeadm init --config kube-init.yaml

导出kubeadm默认配置文件

参考: https://www.jianshu.com/p/42e4792e142c

# 导出kubeadm默认配置文件
kubeadm config print init-defaults > kubeadm-init-config.yaml

将node节点加入集群

# 将node节点加入集群
kubeadm join ${token}

生成node配置

# 生成节点的kubeadm-config.yaml文件,在node节点操作。
sudo kubeadm config print join-defaults > kubeadm-config.yaml

# 加入集群
sudo kubeadm join --config kubeadm-config.yaml

升级k8s版本

参考: https://kubernetes.io/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/

在这里插入图片描述

# 查看node版本
kubectl get node

# 查看kubeadm版本
kubeadm version

# 查看kubelet版本
kubelet version

# 切换到ek8s集群
kubectl config use-context ek8s

# 指定节点为不可调度
kubectl cordon k8s-master-0

# 驱逐节点上的所有pod(腾空节点)
kubectl darin k8s-master-0 --ignore-daemonsets

# 升级kubeadm,kubelet,kubectl
## ubuntu升级kubeadm,kubelet和kubectl到1.22.2
apt update && apt-mark unhold kubeadm kubelet kubectl && \ 
apt install kubeadm=1.22.2-00 kubelet=1.22.2-00 kubectl=1.22.2-00 --allow-change-held-packages -y && \ 
apt-mark hold kubeadm kubelet kubectl

## Centos升级kubeadm,kubelet和kubectl到1.22.2
yum install -y kubeadm=1.22.2-00 kubelet=1.22.2-00 kubectl=1.22.2-00

# 验证升级计划
kubeadm upgrade plan

# 升级k8s到1.20.1版本,且不升级etcd
kubeadm upgrade apply v1.22.2 --etcd-upgrade=false

# 重启kubelet服务
sudo systemctl daemon-reload
sudo systemctl restart kubelet

# 解除节点保护,将节点标记为可调度
kubectl uncordon k8s-master-0

# 确认node节点的版本
kubectl get node

kubeadm升级node

生产环境下没见过升级node的操作,都是一台一台踢掉,更新组件,然后ndoe重新加入集群

官方文档升级node

node 节点的升级实际上在升级完 master 节点以后不需要什么特殊操作,node 节点唯一需要升级的就是 kubelet 组件;首先在 node 节点执行 kubeadm upgrade node 命令,该命令会拉取集群内的 kubelet 配置文件,然后重新安装 kubelet 重启既可;同样升级 node 节点时不要忘记开启维护模式。针对于 CNI 组件请按需手动升级,并且确认好 CNI 组件的兼容版本。

在这里插入图片描述

#  node节点排水
kubectl darin node1

# 升级node1的kubelet
ssh node1  # ssh到node1上
apt install kubelet=1.22.7-00  # 升级node1的kubelet版本和master版本一致
systemctl restart kubelet   # 重启kubelet

# 允许node调度
kubectl uncordon k8s-node1

# 升级node
kubeadm upgrade node

维护或下线node节点

在这里插入图片描述


管理kubeadm join使用的令牌

默认token有效期24小时,当过期之后,需要重建token

参考: https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-token/
https://kubernetes.io/zh/docs/reference/setup-tools/kubeadm/kubeadm-join/

# 打印join时使用的token
kubeadm token create --print-join-command

重新初始化集群

在所有节点上执行
清空kubeadm init 或者kubeadm join对主机所作的任何更改
如果集群出错,可以重新初始化,初始化完成后再次加入node即可

注意: 数据会完全清空,生产环境慎用


官方重置方法

在所有节点上执行

# 重置master
kubeadm reset
kubeadm reset -f

# 重置过程不会清除CNI 配置,必须手动删除 /etc/cni/net.d
rm -rf /etc/cni/net.d

# 清理lvs策略
ipvsadm --clear

暴力重置方法

不推荐,实验也没有成功

参考: https://cloud.tencent.com/developer/article/1706820

#  删除/etc/kubernetes/文件夹下的所有文件
rm -rf /etc/kubernetes/*
# 删除$HOME/.kube文件夹
rm -rf ~/.kube/*
# 删除/var/lib/etcd文件夹
rm -rf /var/lib/etcd/*

# 停用端口号, 把下面的这些端口号都停用就ok
yum install -y lsof
lsof -i :6443|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :10259|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :10257|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :2379|grep -v "PID"|awk '{print "kill -9",$2}'|sh
lsof -i :2380|grep -v "PID"|awk '{print "kill -9",$2}'|sh

查看kubeadm配置信息

# 查看kubeadm配置信息
kubeadm config print

打印Kubeadm版本

# 打印Kubeadm版本
kubeadm version

预览kubeadm可用的新功能

kubeadm alpha
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubeadm常用 的相关文章

随机推荐

  • Go语言遍历文件夹下的所有文件,并求出MD5

    package main import crypto md5 encoding hex fmt io ioutil var files make byte 0 100 byte转md5 func ByteToMd5 fileByte byt
  • PUT_LINE没有输出问题解决方法

    DBMS OUTPUT PUT LINE output 方法用于BEGIN和AND中间 作用是输出结果 当我使用它时发现 没有打印出结果 查了资料 说是oracle默认是关闭的 要在sqlplus中执行 set serveroutput o
  • ChatGPT这么火,如果ChatGPT滥用或者重度依赖,会怎么样?

    目录 绪论 风险 风险1 思维能力 风险2 历史文献 风险3 舆论问题 总结 我们都知道 现在最火的就是ChatGPT 各大大厂都在讨论它 马大大也出山讨论它 可想而知 已经火到什么地步了 绪论 我不知道 有没有注意到他的标题 第一想到的不
  • MATLAB:图像乘除法运算(immultiply、imdivide函数),同时比较双精度类型图像运算结果...

    图像乘除法运算涉及到immultiply imdivide函数 实现代码如下 1 图像之间的乘法运算 close all 关闭当前所有图形窗口 清空工作空间变量 清除工作空间所有变量 clear all clc A imread ipexr
  • IIS实现http跳转https的重定向方法

    整体流程为 1 安装SSL证书 2 下载安装URL Rewrite模块 3 配置 URL重写 规则 或者修改web config配置文件 一 安装部署证书 首先安装SSL证书 二 安装URL ReWrite扩展 URL ReWrite扩展下
  • 猿创征文

    猿创征文 国产数据实战之docker部署MyWebSQL数据库管理工具 一 MyWebSQL介绍 1 MyWebSQL简介 2 MyWebSQL特点 二 检查本地环境 1 检查docker状态 2 检查docker compose版本 三
  • Ubuntu 20系统WIFI设置静态IP地址,以及断连问题

    最近工作需要购置了一台GPU机器 然后搭建了深度学习的运行环境 在工作中将这台机器当做深度学习的服务器来使用 前期已经配置好多用户以及基础环境 但最近通过xshell连接总是不间断的出现断连现象 补充一点 Ubuntu系统中与网络设置有关的
  • Oracle报错ORA-00911: 无效字符问题

    跑kettle任务 今天写sql查询数据库数据时出现ORA 00911 无效字符问题 我把SQL到toad中是可以查询到数据的 但是在MyECLIPSE中执行就报ORA 00911 无效字符的错误 原因 SQL中 有个 分号 里面多了一个
  • Mac 安装 Neo4j

    1 下载Neo4j 社区版 MacOS安装社区版Neo4j 图数据库 https blog csdn net huacha article details 81123410 问题 在下载JDK时需要Oracle 登陆账号 解决方法 http
  • Vue+ElementUI实现简单的用户管理系统(四):查看用户详情页及删除用户

    一 展示用户详细信息 在点击 查看 按钮时 传递了用户的Id 我们要把这个Id拿出来 this route query id created this handle this route query id handle方法 也就是根据id使
  • [YOLO专题-3]:总体-目标检测的常见模型评估指标

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122134907 目录 前言
  • HTML BFC的理解与作用

    HTML BFC的理解与作用 含义 BFC Block formatting context 直译为 块级格式化上下文 它是一个独立的渲染区域 只有Block level box参与 它规定了内部的Block level Box如何布局 并
  • elasticsearch实现入库分词,查询不分词,实现like关键字%

    因为在工作中遇到一个需求 需要对请求内容实现类似于mysql的 like 关键字 模糊匹配功能 同时要保证效率大数据量效率问题 因此不能使用wildcard在网上看了很多也不太好使 自己琢磨了一下成功了 该功能仅对非中文存储的字段有效果 使
  • Blender软硬边

    https www youtube com watch v CdHXpHPWKYo blender这里的算法感觉就是根据角度做自动平滑 然后mark sharp它就不平滑 貌似有bug 加修改器貌似可以解决这个问题 凹面貌似也有点问题 设置
  • 结合Android Studio和MAT检测并简单分析内存泄露

    1 什么是GC 在分析内存泄露之前首先要了解一下GC GC Garbage Collection 就是Java中常提到的垃圾回收 指的是JVM会自动回收不在被引用的内存数据 2 什么是GC Roots GC Roots即Java虚拟机当前存
  • SAP-基于批次特定计量单位的应用-01-产品数量管理

    原文链接 https mp weixin qq com s zknWGuz2lU387vAGSiykw 大家可以关注我个人公众号 所有分享内容 会在公众号第一时间推送 且阅读排版更好 愿大家的学习 轻松且愉快 如果大家觉得有用 希望转发关注
  • 计算机打字正确姿势,电脑打字手指的正确姿势,涨知识了

    近年来 随着科技水平的提高 电脑已经成为了必不可少的工具了 能够为工作和学习提供一定的便利性 今天来给大家说说在电脑上打字手指应如何摆放 以帮助提高打字的速度 熟悉键盘 01 在开始打字前 首先要对键盘上每个字母对应的位置有一定的了解 不仅
  • LeGO-LOAM代码详细注释版

    学习LeGO LOAM时 写的代码注释github代码链接 一部分注释来自github用户wykxwyc 一部分来自网上查阅 还有一部分是自己的理解 持续更新中
  • C语言---离散数学实验--图的基本概念及其应用

    目录 欧拉图的判定 实验内容 编辑 无向图的判断 算法展示 源码 有向图的判断 算法展示 源码 求欧拉路 算法展示 整体源码 对无向图的判断 对有向图的判断 二叉树的应用 源码 源码下载 实验目的 掌握判断欧拉图的方法 掌握求最优二叉树的方
  • kubeadm常用

    kubeadm常用 配置kubeadm自动补全 初始化一个master节点 导出kubeadm默认配置文件 将node节点加入集群 生成node配置 升级k8s版本 kubeadm升级node 维护或下线node节点 管理kubeadm j