易陆发现互联网技术论坛

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

kubernetes相关操作命令

[复制链接]
发表于 2024-9-10 17:20:49 | 显示全部楼层 |阅读模式

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

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

x
查看相关命令+ e4 d& ^! I3 h2 G9 j7 T8 L. n; u
#查看kubeadm生成的token
4 T$ N; `  f3 J1 x5 [+ h2 S4 T3 u$ ykubeadm token list6 o# u; F/ ^/ x* p# r) [

* K( {$ A0 ]$ G6 y/ P8 Ykubectl get nodes #查看节点的状态:
' K/ u8 ]8 P+ K4 V. Zkubectl get pod --all-namespaces #查看pod的状态0 G6 ?6 g' v% r; x8 G/ V  S$ F
#–all-namespaces #查看全部namespaces的pod
! x6 K2 i9 m0 L2 |- |" D8 J# Skubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布
& @1 P9 S- O8 h  y- Z) h#-o wide #查看pod的分布情况: S; X! b% L9 X$ X- E! ]3 f/ R
kubectl get deployment [nginx-deployment] #查看部署状态3 R' Q6 u8 f6 Z5 p" C8 C- d
kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件& A6 Y1 G" @# U2 M6 s$ k' A
kubectl get replicaset #查看部署状态, p* Y1 E2 C; D5 T- L7 I% L( f1 J
kubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件
8 S" f+ ~8 q2 P5 d/ Z. R( Ckubectl get node --show-labels #查看node的label
0 S7 Q& ?. [( ?0 v8 X. N+ N# Gkubectl get job --show-all #查看job任务
% t. B* W+ y1 c5 Ykubectl get cronjob #查看cronjob任务
6 t3 h3 q4 w4 y9 O( R/ skubectl get namespace #查看运行中的namespace' z6 O9 i: X0 U
kubectl get pv #查看pv
* w4 p) i- ^5 C/ P0 B1 e+ a; W. Xkubectl get pvc #查看pvc1 Z9 f! s6 D# {: s
kubectl get secret [mysecret] #查看存在的secret
4 k. P' e3 f: K$ A, p+ J' skubectl get configmap [myconfigmap] #查看存在的configmap
- F; \0 J5 Q0 P( H! [' v1 j; `) p1 U3 A  ^6 _
kubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志
9 a' e$ w) l- r# [9 V1 Ukubectl describe deployment #了解deployment的详细信息( d! m5 X0 s* w0 d$ n
kubectl describe replicaset #了解replicaset的详细信息
. w* E$ H) K- O% Z+ S& Rkubectl describe secret [mysecret] #查看secret条目的key
0 m) m2 e- {% c7 v/ O" B+ Dkubectl describe configmap [myconfigmap] #查看configmap; K" u$ W2 Y1 T2 \7 P3 a+ O/ ?

- b4 L) K( C4 K8 [kubectl logs myjob-nfkxk #查看job执行的结果
" ?& y0 U9 K$ `- x" B1 Y6 L$ W/ P. s
) k( F& u. Q) T2 N- Y创建相关命令: M4 u% I# T  f; T4 i9 Y6 U2 T& Y0 b6 y
#创建token
7 J; P2 H  d3 z& b+ U; @; Ekubeadm token create  A$ S6 P1 U, E1 C: I1 d
#获取ca证书sha256编码hash值
" x; E* a; e- A/ u" ]7 v) wopenssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’6 C$ U5 m  R# V6 i- u

4 o) P$ t6 L5 N' @kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod
' i" g9 L( W8 U5 ~  q#httpd-app #命名为httpd-app( V7 `* C+ h3 I
#–image=httpd #镜像名2 T  Y% g3 {! U# R* I6 C) _+ }6 x
#replicas=2 #启动俩个pod  K& i+ w0 z  T% d% u: {& N7 d

# ?' K. m& ?0 P% u' F; h# L#通过配置文件启动9 G3 U8 w. b- x  T
kubectl apply -f nginx.yaml2 x4 I3 z- D/ `* g! T0 g
4 @: P5 n) i4 w7 X  W) f) Y
kubectl apply -f httpd.v1.yml --record# ^. @) `3 ^+ u5 S, i* q' C: I
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。8 F% w6 \9 Q% R- y$ J
#可以通过kubectl rollout history deployment httpd来查看revison历史记录% [6 `/ I" p" j; n2 m+ c
#创建namespace:1 m2 W3 A  \/ z+ y7 a: j
kubectl create namespace weave! \2 Y0 V7 Y* f, C5 W; W8 o
& `# X- b# n" \% a  X, F4 c9 \- V
kubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap( h7 L- |8 `$ t' A
kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret) }* ~0 d" ?- @2 y8 J

/ b) t% O: C. O# T删除相关命令% V2 y0 p4 b0 Y0 ]) c1 Y" [* f
kubectl delete deployment nginx-deployment #删除deployment任务( c7 {, M( K7 P2 ~1 e2 I0 X+ x
kubectl delete -f nginx.yml #删除deployment任务* {/ J& s, V3 A$ b0 @) l
8 E+ U' z% H/ H- ^  I! A9 g
kubectl delete pods --grace-period=0 --force #删除pod
) U* M) K! h" `4 I1 i6 h5 ?& V' I7 q, R
kubectl delete pvc mypvc1 #删除pvc中的mypvc1! J' V5 w) ]# N" A$ u& {

, k" V! L9 M0 @6 t2 S! W( i- |用label控制Pod的位置
& j) C; L5 @& q- V- vkubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd
1 e; K. A" @4 y5 h  M, }* Mkubectl get node --show-labels #查看node的label
1 b3 [" V  t5 U$ v( nkubectl lable node k8s-node1 disktype-
4 f  ], _. r' E9 D& k
& {" k! Q7 e4 }, x6 e( p8 T. a# fedit命令& b! e4 k6 w6 D3 F- k2 B
kubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件" l6 w- ?2 \: g; g, C
6 m. y9 `+ u% h2 c
kubectl edit secret mysecret #查看value
" L) g5 \- Y) U3 y, |! R: q4 F5 p  f% _% V  d& S: g& e
update rollout命令, l& ^4 [* P. u" o% N
kubectl apply -f httpd.v1.yml --record" B1 a1 r! Z  |$ s- W  S
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。
* N& c5 [6 t( D) D' G# n2 w$ W- X#可以通过kubectl rollout history deployment httpd来查看revison历史记录
6 A& g) f. v' ^- R! L. w: K0 L4 M! R9 ?& _) \$ f
kubectl rollout history history deployment #查看revison历史记录
: ^- i' U& X+ r
: I3 N' p; ^( p: p2 ~3 K$ c& lkubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚$ H# D  I$ ]( K
2 U# E) }% c/ I4 _
其他命令
4 F% R2 U! N$ J* ]2 v# o8 R) Fecho -n root | base64 #base64加密
' i8 w8 z! D3 l! vecho -n MSDF32D | base64 --decode #反解码
# p0 F2 e4 X; g2 r% B
& s9 R2 T9 I  Z3 e#自动补全功能! b! r5 F* t+ `
echo “source <(kubectl completion bash)” >> ~/.bashrc) z6 j3 s3 d3 x! \
#helm自动补全功能
0 A* @# d# r3 ~( K. j5 }6 `7 F, fhelm completion bash > .helmrc echo “source .helmrc” >> .bashrc
& ?2 o* Y6 ]# t! k. t8 z9 B
4 j3 C/ ?# M/ a8 |' N2 a#查看集群信息
( A  x) J" E4 f3 F. @4 T7 gkubectl cluster-info
. o4 ~. y( G7 V# d1 g. C#查看apiserver的版本,和已经使用的api+ c- q) q7 j1 E4 V
kubectl api-versions
. q! W0 v* T! E# M
# }' Y3 L3 f" k: ?#将master当做node使用
3 d5 Q$ `" f- A: J1 I; ^kubectl taint node master node-role.kubernetes.io/master-
6 M% T( |- A& r* H#取消master当做node
% z8 i3 h% d& u& N. L' d8 O8 [kubectl taint node master node-role.kubernetes.io/master="":NoSchedule
& f/ e7 c" y9 h. @% w
' N2 I4 T0 h8 W6 \4 s#踢出节点
- U6 J6 F8 ~- K+ o. Okubectl drain nodeName --delete-local-data --force --ignore-daemonsets
/ A# D0 h; M# C0 ukubectl delete node nodeName
8 l) ?+ T( [" _8 ^  N  r* R7 M( i$ F* {: v- G/ \# Y9 t7 \
#kubectl top查看k8s pod的cpu , memory使用率情况
7 M# O9 m  y; ?7 p2 \1 f5 b; fkubectl top pod --all-namespaces' h1 `6 Y+ ?6 i# W0 }3 R
" R: ^' i/ \# p0 d, S, f! {+ m

2 j9 S* [+ z# ]( x2 D! u; s% f
 楼主| 发表于 2024-9-11 15:18:29 | 显示全部楼层
用kubeadm创建Cluster/ ~* x4 T1 i! W' ]
#自动去拉取所必须的images
1 e* f" `! H% @kubeadm config images pull
; E8 d& N: i1 @* D# I) J& }* I) S
初始化Master和添加节点
- s& y5 `, r* n, h  B8 [#重置:2 B+ G( s, S' a% r" B% H7 |
kubeadm reset: {% x' H" J6 y7 t: i) Y
4 K. R$ _5 c( M' v+ E3 {  s
kubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16/ G/ H6 Q. Q! T
#–apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡
3 C+ Q, ?6 O, k' b% g#–pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案
7 F% M+ z# y0 y1 |+ [3 v1 g3 A, E9 f5 C" g5 p& M& Q
#创建token7 l  @9 L0 E' \  L& r
kubeadm token create
, a. ]" @& L8 O  u3 X7 h$ ^: S6 `#获取ca证书sha256编码hash值/ a$ @3 u+ `1 U, x$ ~5 Y
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
9 P5 j; p6 W* Z$ ?3 }1 [#添加k8s-node节点. j3 i* @! y5 Y2 J, m( N! J
kubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b
3 c( c1 M% p+ d9 \9 F
 楼主| 发表于 2024-9-18 13:58:53 | 显示全部楼层
[root@kubernetes-master ~]# kubectl config view0 \% x* g, e. i
apiVersion: v1
# J( U4 j5 e' V9 m! Y& Aclusters:" M7 [) |( x, A1 k  s
- cluster:
" V5 p* k/ k$ A- N2 E% i    certificate-authority-data: DATA+OMITTED- j& E2 u% A% }" L1 I; U
    server: https://172.24.110.182:6443& a; w# h4 P; P, g( a3 r
  name: kubernetes
0 [' T, b( R$ \$ C& I. l3 b, g% \contexts:
! u8 H( p6 T1 Q' l/ N- context:" O. `7 m( b; `0 J. n
    cluster: kubernetes
7 N0 E/ n6 x/ p9 Z4 P    user: kubernetes-admin; b2 r8 v- W" L, R9 F: |
  name: kubernetes-admin@kubernetes- ^$ ]% N" r8 `' J/ G' i+ |; N% j
current-context: kubernetes-admin@kubernetes
% I# u3 |. E( t% ]kind: Config
% _- u5 l- N2 A- j9 zpreferences: {}+ x: [* K4 V8 T+ N3 z. W0 R& X' b, F! F
users:( D' P+ e( @9 x) @" J, h$ w
- name: kubernetes-admin
4 {1 R% S/ B9 g4 X5 r: k# I- x5 ]: Q  user:; S' U3 {' j8 N1 E# k! j* a6 ~8 f0 h" L
    client-certificate-data: DATA+OMITTED
8 X) d3 ^; H5 Z: K1 h+ T2 g) s    client-key-data: DATA+OMITTED
5 J3 X* `; K2 B[root@kubernetes-master ~]# kubectl get nodes- j% ~+ S: T; d1 f- D: ]
NAME                STATUS   ROLES           AGE   VERSION5 V7 ?6 P2 q) p/ ?6 D
kubernetes-master   Ready    control-plane   22h   v1.28.2( v$ ]( ?. Q% o6 _6 @) Z0 p
kubernetes-node1    Ready    <none>          21h   v1.28.2
9 W+ Z' n8 y6 g7 X+ {  tkubernetes-node2    Ready    <none>          21h   v1.28.2/ S/ q) s4 }$ n5 w: b
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

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

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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