易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 24|回复: 3
收起左侧

kubadmn init命令重新初始化kubernetes集群

[复制链接]
发表于 2025-1-3 08:00:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
可以使用kubeadm init命令重新初始化Kubernetes集群。 但是,需要注意的是,重新初始化将删除原始集群的所有状态信息,包括所有部署的Pod和服务。因此,请在重新初始化之前确保您已备份所有必要的数据,并已准备好重新部署所有应用程序。' |- a1 G( `) c; E) F+ f
+ x. Y9 a6 e8 \7 q( I8 G* G
要使用kubeadm init命令重新初始化集群,请使用以下步骤:
9 C- \+ l% _. C: `
& F( E* X0 u+ _6 D7 `) y, p: F  ?1 c$ n% H1.登录到主节点(也称为控制平面节点)上,并以root用户身份运行以下命令:: H6 Z" @9 F3 }9 v) O. J7 |! b
9 U8 ~% Z% r' R+ n, I; z& ^1 E: W
kubeadm reset" K7 j0 `, ~- G) g" C$ N  ]
此命令将删除当前集群的状态信息,并使其回到初始状态。
  M. r# U$ w; M- J( K5 `  n6 t1 Q
3 k: ]- Q4 _: O
  [6 Q% @3 U  ^0 f- ]  I/ k9 c- q& g: L# n" j
2.使用新的配置文件重新初始化集群。您可以使用以下命令:
! @9 x, E' `! M2 m* ]1 u# H5 X$ [0 {6 l  T
sudo kubeadm init --config=kubeadm-config.yaml1 K2 Y# S. g( b4 f* y( u
此命令将使用新的配置文件初始化Kubernetes集群。您可以根据需要更改配置文件中的值,以满足您的特定需求。" q- [; ]: I) T' ?

- D9 Y7 e% j  F8 c
  [- G6 E0 z: }+ V1 g- ]' r& M7 s& Z0 j5 s
3.如果需要,更新您的kubectl配置文件以访问新的Kubernetes API服务器。您可以使用以下命令:6 _/ g8 _! l; O( q) M
: X, ^6 F; `7 v! Y. `. m( }
mkdir -p $HOME/.kube
' G8 \# |2 W* {5 Y1 P+ Zsudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
4 a4 r# j; q8 L3 _4 B$ L; A7 _4 ^1 hsudo chown $(id -u):$(id -g) $HOME/.kube/config" R5 K$ x; a* G; A
1 {& n" C" ~) v$ E& T9 M- O" j
# r9 e( F' j5 O8 p' D3 A1 p" m" Z. O$ _
4.等待集群初始化完成,并确保所有节点都已成功加入集群。
: X6 u  J1 v$ T$ f' k0 _/ m
0 I: ]$ W/ j2 D! c重新初始化Kubernetes集群后,您可以重新部署所有应用程序和服务。) y& ~2 @/ `  K& F9 m

2 ?( [; C$ w, F# M' u8 z" K7 F" S1 T8 u% i

; W$ y1 Q  _1 E9 d# T
 楼主| 发表于 2025-1-3 08:00:01 | 显示全部楼层
kubeadm-config.yaml+ u' P/ N. m/ W4 f& h
4 t/ j! |# S. r7 @6 }9 F
apiVersion: kubeadm.k8s.io/v1beta1
( |' ?  {" j7 e. Y5 o/ q8 r$ O& h. ykind: ClusterConfiguration) k, e( `8 W; k3 h* h* n6 {
kubernetesVersion: v1.14.3 # change according to kubeadm supported version" D/ t" I9 U. a% Y( w  p) c
apiServer:. {* Z# B" E0 ^/ Z4 U: G$ }# _+ @' r# S
  certSANs:
3 z2 W, l/ z' q1 q0 y) z4 S3 }  - 127.0.0.1( h/ ?5 D: s3 ~- u! Y& W
  - cluster-api.example.com # change according to your requirements% a1 y' S  [8 T7 B5 ~1 \6 s! w
  extraArgs:
' t% S. n4 m6 X- T* j- _    authorization-mode: Node,RBAC# S1 @5 F4 s5 C
    feature-gates: "TTLAfterFinished=true"
, D) F" u' V  t% s2 A# {    audit-policy-file: "/etc/kubernetes/audit-policy.yaml"
) ~+ J8 Z  a0 o8 ^) ?/ p    audit-log-path: "/etc/kubernetes/audit/kube-apiserver-audit.log"
7 m$ M% h/ a2 {7 r3 L1 e* H    audit-log-maxage: "2"
0 ~9 Z3 ^1 p- h) [  extraVolumes:
( _" V# q- D6 J# x; v: @  - name: "audit-policy"
- L' R. N- \/ e5 k    hostPath: "/etc/kubernetes/audit-policy.yaml"
5 @6 W" f4 I' |6 |, L3 Q    mountPath: "/etc/kubernetes/audit-policy.yaml", _( G+ H) L5 c9 G7 {" E
    readOnly: false
8 ~" b0 k( e+ a! _. V6 X    pathType: File
/ r5 U5 l$ U$ h9 |' D5 p' v* K  - name: "audit-volume"
3 Q! ^# M2 d6 x& l& t/ }    hostPath: "/var/log/kubernetes/audit"
. e; s9 f* w6 l  D    mountPath: "/etc/kubernetes/audit"
+ O. s% x4 n2 J# K    readOnly: false- B- y" g% v2 s! d: \( H
    pathType: DirectoryOrCreate. |; s: _3 e( L5 R& f3 g7 n( Q' ?' i
  timeoutForControlPlane: 4m0s
; Y$ n/ a5 y$ R% b" S3 o) xcertificatesDir: /etc/kubernetes/pki
* u- P5 _4 j# \0 C4 s+ |" O2 JclusterName: kubernetes3 L1 j8 \: B; J( i6 q
controlPlaneEndpoint: ""( S7 B9 ^4 R! l! M0 s- H$ C$ r
controllerManager:
! ]; H1 [! S+ e" {$ a# T  U  extraArgs:
. X. b; [! b: f( Y! z8 a- U$ e    feature-gates: "TTLAfterFinished=true"
4 a* l5 e7 s* y3 \4 q" B    bind-address: 0.0.0.0: T5 f  g, i( N
dns:% D0 j. b" t: |; p! O- b0 e2 `
  type: CoreDNS
, ?1 {/ D- q% F' m. a3 o. qetcd:
0 w0 B! M) d- z3 q' Y& A  local:
6 v$ `9 y& U, V8 a$ g" E    dataDir: /var/lib/etcd
4 S. ~* [# F& Q  U8 [5 vimageRepository: k8s.gcr.io
; ^( d! B2 y' s" Wnetworking:
' K7 d" s8 N! u  dnsDomain: cluster.local
9 l. N1 T# u8 ~& G9 {  podSubnet: 192.168.0.0/16 # change according to your requirements2 w6 F: ]; O, ^( M" Y' M2 p, K, x! X. c$ K
  serviceSubnet: 10.96.0.0/12 # change according to your requirements  Z- A( ?4 f% D& R
scheduler:
  G8 p; {* N7 M( w% l  extraArgs:8 C9 l9 ^$ U9 I3 q8 a
    feature-gates: "TTLAfterFinished=true"
5 G! W& ^# x/ G5 {" Q' Q    bind-address: 0.0.0.00 ^/ C1 I, g* R& W
---
3 I( y3 V! {1 `2 L. D/ L( M4 z  k6 ?apiVersion: kubelet.config.k8s.io/v1beta1
2 Q3 d' k& P1 B5 g) ~kind: KubeletConfiguration
7 v& K9 X. S. ^/ S( @FeatureGates:- D( j9 l& r; j8 `0 d* g
  TTLAfterFinished: true
 楼主| 发表于 2025-1-3 08:00:02 | 显示全部楼层
# 导出kubeadm默认配置文件
/ P  t) N' l4 u7 B. Hkubeadm config print init-defaults > kubeadm-init-config.yaml7 H1 ?0 u2 g2 x; `

1 a' t- I0 g% v0 }3 d& J4 p2 v+ M8 R, L9 t6 j
# 生成节点的kubeadm-config.yaml文件,在node节点操作。  u/ I0 L9 n3 ~
sudo kubeadm config print join-defaults > kubeadm-config.yaml, f2 }  p5 ~4 U
& d# [: j! r( H) j# L+ b2 P/ Q* j
# 加入集群1 `$ L# F( b4 `! ]; I
sudo kubeadm join --config kubeadm-config.yaml4 @6 p% Y; ^2 ]; Q) }

2 T+ z0 W& w9 p$ {, ~7 q$ c$ M# P- Z7 T' b1 s4 s( @8 E

" P6 w/ _4 r+ z, O0 k9 P) |
' q& {0 f9 ?5 J7 v3 @5 o  T# 配置kubeadm自动补全% G0 E9 I; s& E9 P7 H
source /usr/share/bash-completion/bash_completion0 |) ]1 B: S1 h
source <(kubeadm completion bash)* ]( P* O0 ~$ U1 l: n/ d
echo 'source <(kubeadm completion bash)' >>~/.bashrc
+ v7 A8 J+ \; B8 _kubeadm completion bash >/etc/bash_completion.d/kubeadm
; t/ p$ U% w- H
7 r* J' X: d( Q/ C8 Y  }; ]$ l' E' n0 h9 g0 I; C
3 S- _2 L" B4 }9 Z- u7 F. ~
" I5 W  W# `2 `
kubeadm init7 }  a/ F$ h' H& ?% X

5 T* R  Y4 ~0 p  K. m# 通过yaml初始化6 n+ F& v( H" G
kubeadm init --config kube-init.yaml# M+ W& O1 ]* O# |" n8 }
. H8 `: _9 l9 U( E/ ]1 k3 A
 楼主| 发表于 2025-1-3 08:00:03 | 显示全部楼层
sed -i "s/pause_image = .*/pause_image = \"registry.cn-hangzhou.aliyuncs.com\/google_containers\/pause:3.1\"/g" /etc/crio/crio.conf
: ?. j6 p$ N5 P3 @: x  W5 C2 X* \
docker pull   google_containers/crio3 n' B0 v# M/ p1 U' M
  
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:30 , Processed in 0.046319 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表