kubeadm常用命令

一  kubeadm token 命令

++++++++ "kubectl和kubeadm命令执行的时候" ++++++++

默认情况下,kubectl 在 '$HOME/.kube' 目录下查找名为'config'的文件

可以通过设置'KUBECONFIG环境变量'或设置'--kubeconfig参数'来指定其他Kubeconfig文件
​
解决1: k8s 'token 过期' 的解决方法

①  总概

②  create

++++++++++  "背景铺垫"  ++++++++++

1、在 K8s '1.8+' 之后,'默认'生成的 Token 有效期只有 '24' 小时,过期后 token 将不可用

2、如果想'新的 Node 节点'加入 K8s 集群,则需'重新生成'新的 token

3、生产环境中我们一般都会采用'默认'的有效期即可,目的是为了 K8s 集群的'安全'

常见1: 生成默认 '24' 小时 Token

kubeadm token list

常见2: 生成'永久有效'的Token

kubeadm token list -ttl 0

常见3: 直接生成 Node '加入 K8s 集群'的完整命令,'worker'节点加入

kubeadm token create --print-join-command -ttl 0

备注: '永久有效'

证书过期的解决方案 

常见4: 加入'master'节点

kubeadm join ip:port --token ... --discovery-token-ca-cert-hash ... \

  --control-plane --certificate-key ...

重点: '--certificate-key'如何获取? 

说明: kubeadm init --config=kubeadm-config.yaml --upload-certs 初始化时会'回显'

会显信息

二   kubeadm join 

说明: 获取 'CA 证书' Hash 值

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | \

openssl rsa -pubin -outform der 2>/dev/null | \

openssl dgst -sha256 -hex | sed 's/^.* //'

三  kubeadm init

①  init干了什么事情

说明: 拉取'registry.k8s.io仓库'的镜像源失败

--image-repository=registry.aliyuncs.com/google_containers

# kubeadm init 指定的kubernetes版本为'不兼容'版本

kubeadm init --kubernetes-version=1.22

常用: kubeadm init --config=kubeadm-config.yaml --upload-certs

备注: 'kubeadm-config.yaml'是'kubeadm config print init-defaults' 生成的

②  常用 

kubeadm init --apiserver-advertise-address=172.25.2.100 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.18.20 \									#版本号自选
--service-cidr=10.96.0.0/12 \									#可不改
--pod-network-cidr=10.244.0.0/16								#可不改

初始化成功后显示:Your Kubernetes control-plane has initialized 'successfully!'

四   kubeadm config

①  总概

kubectl -n kube-system edit configmap kubeadm-config

②  config images

说明: 由于'网络'原因,某些镜像'无法'下载,需要看下需要下载'哪些'镜像

kubeadm  config images list

说明: 使用'自定义'镜像仓库拉取'init'所需的镜像

kubeadm config images pull --config init-full-config.yaml

说明: 一般镜像'提前下载'好

config  print

需求2: 打印'默认'的init 配置文件

kubeadm config print init-defaults > initconfig.yaml

场景: 生成服务'清单','修改后'再指定

关注: 'init-defaults'和'join-defaults'

④  config view 查看

五   kubeadm reset

kubeadm init 初始化集群操作'失败'的环境和配置遗留

解决: 重置节点 'kubeadm reset'

思考: 如何'删除'集群的一个'worker'节点 

六   kubeadm appha certs

一年证书到期更换证书

说明: 查看证书命令下有'哪些'功能

⑥  check-expiration

 kubeadm alpha certs check-expiration

 1、查看证书'过期'时间

 2、该命令显示'/etc/kubernetes/pki'文件夹中的客户端证书

 3、以及 kubeadm 使用的 'KUBECONFIG 文件中'嵌入的客户端证书的'到期时间/剩余时间'

 4、新版本命令:kubeadm certs check-expiration

⑦  renew

renew '说明': 更新 Kubernetes 集群的证书,'不涉及' CA 根证书 --> '续订k8s自签证书'

说明: 生成'新的证书'之前最好'备份'一下数据

cp -rp /etc/kubernetes /etc/kubernetes.bak 

cp -rp /var/lib/etcd /var/lib/etcd.bak

⑧  renew的选项

all:       更新'所有'可用证书,一般可以'直接使用'这个更新所有。
apiserver: 单独更新服务 Kubernetes API 的证书,相当于针对'单个组件'进行生成
apiserver-etcd-client: 更新 apiserver 用来访问 'etcd 的证书'

k8s证书配置过期时间   阳明更新证书

引申: 如果是'自建'集群,在init的时候最好把证书的有效期'修改'了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值