找回密码
 注册
查看: 48|回复: 2

kubernetes相关操作命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2024-9-10 17:20:49 | 显示全部楼层 |阅读模式
查看相关命令
; {2 x) z( P" j6 {0 S% ~* m#查看kubeadm生成的token8 Z9 A% u" b: v) |0 _! G6 \( N
kubeadm token list* ]$ y. ~4 S" E: n3 U3 N, R

2 |0 L, u; J# q; v8 hkubectl get nodes #查看节点的状态:
' Q- ~* x  d3 I! Wkubectl get pod --all-namespaces #查看pod的状态
% }8 x% N& S6 z#–all-namespaces #查看全部namespaces的pod
0 `, Y# d9 U: ?8 I$ nkubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布% K2 W: H' X2 ^( O4 C/ {3 n
#-o wide #查看pod的分布情况
. g' n* {* v" @kubectl get deployment [nginx-deployment] #查看部署状态5 N2 H1 t- z- I2 P
kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件
, v: s# v6 V, O- Mkubectl get replicaset #查看部署状态
* q0 w& S  z, v9 H  pkubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件
. A. x8 O. f. x; U$ k4 P& Y1 Wkubectl get node --show-labels #查看node的label
* l- ^5 ^( \2 mkubectl get job --show-all #查看job任务
: u: x$ G) V2 c: d; N6 Ekubectl get cronjob #查看cronjob任务; f$ L, ~; E+ M# Y! o
kubectl get namespace #查看运行中的namespace
; M; A+ [  _5 ~# y: X; lkubectl get pv #查看pv: J" S% L' ?9 i" g+ @4 L4 ^
kubectl get pvc #查看pvc
8 J2 L" T) }* _1 ], R- S! F- B. ekubectl get secret [mysecret] #查看存在的secret, u$ }8 i* w: B2 R6 q! ^% [
kubectl get configmap [myconfigmap] #查看存在的configmap
6 l5 U0 q6 a1 S* B9 K' Z- e4 g
* _1 Y7 f3 `) m* U* T- xkubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志& Q  q! b0 P3 |! n; c" F0 B
kubectl describe deployment #了解deployment的详细信息
5 Z8 D5 \' k2 W  hkubectl describe replicaset #了解replicaset的详细信息
; z+ S( d& a/ S% M  v! m( n; Kkubectl describe secret [mysecret] #查看secret条目的key
; e$ V" e/ g5 y5 N( f/ pkubectl describe configmap [myconfigmap] #查看configmap# m0 c$ \- y+ W+ k; g' k/ J
$ i4 Z/ n0 Z" P5 b1 J
kubectl logs myjob-nfkxk #查看job执行的结果! m& S5 G9 h* L9 u$ ^4 v7 L0 K

8 ~+ T# F, f) h创建相关命令# Q+ x9 B; T: [: B4 ?2 `5 n
#创建token
6 X7 U' O- h' H) _4 h) p4 ~; x/ I: U3 Zkubeadm token create
8 g- W) |% @1 ]#获取ca证书sha256编码hash值+ `* i" `% Q/ Z4 t
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’' ~5 n' b$ f$ y7 A
! p6 a- Q. F8 Q% e" B
kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod
# A, f7 t; }) q6 x. [' k7 d#httpd-app #命名为httpd-app
5 ~2 ?- ]* r( R0 ]0 z2 A6 C$ I7 \#–image=httpd #镜像名) N/ B  c9 J% k; H, @6 M; w
#replicas=2 #启动俩个pod
5 V9 n0 b! Z* w  n* n) I  h# P& V6 L; y( L! W$ E2 E$ a
#通过配置文件启动
" x: G9 g/ @6 V  _kubectl apply -f nginx.yaml
$ N0 S/ d6 T6 n. ]5 S/ K; L6 Z3 w+ h) r
kubectl apply -f httpd.v1.yml --record
# _6 E/ x+ f1 H# E) C/ J#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。2 m, n5 O  }0 A8 L: I
#可以通过kubectl rollout history deployment httpd来查看revison历史记录
  V8 q1 J) T0 D1 k- y9 s/ e. X#创建namespace:( ~! A2 |. W$ k
kubectl create namespace weave; C1 u6 `0 V/ z1 v$ k) B1 N6 E+ \
; ~1 a1 m8 I4 k' j! ]6 L4 v' i/ t8 I
kubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap
2 q/ E/ n1 {( n! I& T; ?, Wkubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret- P! u- E% u1 @: W* n1 @* B
+ u0 d8 e7 H* j* _: n2 O  j; L+ S% O
删除相关命令
; k% J9 e: q' pkubectl delete deployment nginx-deployment #删除deployment任务
  O, P1 `3 N( K3 l$ hkubectl delete -f nginx.yml #删除deployment任务
5 o0 [7 K4 f% S) X( {
, P3 x% M2 U6 d' lkubectl delete pods --grace-period=0 --force #删除pod. n' g; f0 o" \" [
% Z5 [! L  j  p# O: o: t
kubectl delete pvc mypvc1 #删除pvc中的mypvc1
: Y& D; r; d4 \! W0 y* b4 D
, U, E$ }3 T8 r" [1 ]用label控制Pod的位置0 w* F9 k8 u) }0 b: y
kubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd) s& ]: o& N1 f; Q, d1 e9 M
kubectl get node --show-labels #查看node的label' N5 ^# x8 ?6 R/ t, J7 |
kubectl lable node k8s-node1 disktype-2 Q7 q: j6 c- f, {
8 ^: G7 l2 X' M7 u/ }
edit命令
  x& a# }' X* E" K* t2 zkubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件
. N& C1 j9 s5 x% S. m7 A( l6 M/ E% P
kubectl edit secret mysecret #查看value
; a1 A6 w0 E! `, d
- l$ u! J  n$ Y; c3 q; iupdate rollout命令
* [/ q4 O# T' Y2 W& i2 Dkubectl apply -f httpd.v1.yml --record
+ j0 N1 c$ t; m4 Z' ^& U4 }#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。5 a$ A; ^8 D9 Q3 J/ j4 V
#可以通过kubectl rollout history deployment httpd来查看revison历史记录2 t* a6 ~5 C6 R$ p
, Z1 F1 m8 r6 B; u6 Z  U+ H
kubectl rollout history history deployment #查看revison历史记录
4 ]( u1 e" T" u0 }8 G0 Q% d
$ l; k+ J, U1 Y( ?* P4 {kubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚
9 b7 s4 e6 t4 ?7 a+ ~0 h/ N2 k( K; B
其他命令
6 }" o1 g6 t2 B5 R2 W+ ?echo -n root | base64 #base64加密
9 T: t, x# C- w4 l7 b0 eecho -n MSDF32D | base64 --decode #反解码
) M* E6 b' s; C; t6 I  J
  x# k/ X) M9 r8 h#自动补全功能
; M/ [+ I+ `- V/ J! I4 c) Mecho “source <(kubectl completion bash)” >> ~/.bashrc1 F2 J" ~* Z0 K) f1 ^
#helm自动补全功能
' P; c2 h, Z, shelm completion bash > .helmrc echo “source .helmrc” >> .bashrc
/ W; z6 H/ V3 ~' D# b# H: X* c
2 g2 N4 u- _) k1 r#查看集群信息
; v; T1 i2 Y; t" vkubectl cluster-info
- }0 P) j" r# \; X9 A, A#查看apiserver的版本,和已经使用的api+ f8 [) S* R4 {$ i
kubectl api-versions+ y8 k. {0 U7 b, p3 g5 P
0 J& ?* R- B) r1 p6 D: d3 C, A" F
#将master当做node使用; T. Y$ e/ I1 z' N1 L3 _3 O
kubectl taint node master node-role.kubernetes.io/master-
, R1 u- m3 o% x7 g#取消master当做node
! a+ x1 z$ }, S0 }6 P  Qkubectl taint node master node-role.kubernetes.io/master="":NoSchedule
1 U2 H, ]4 r* T' V7 j0 c
! P" ^, t' I+ G  F8 Y, s9 @: b# r7 B( \#踢出节点
9 w: z+ j3 u" _# Y0 `' k  Fkubectl drain nodeName --delete-local-data --force --ignore-daemonsets
9 T0 q8 v3 N% x5 gkubectl delete node nodeName
4 u) \$ K/ b! `, D3 j) G7 Y
0 P+ Z' S. Y2 ]#kubectl top查看k8s pod的cpu , memory使用率情况
. W2 s' E3 D5 ]" f! V8 }kubectl top pod --all-namespaces
; K3 F- f" m% l. W( e, L1 V3 C& x% P6 \( e: P! X
# ?$ v" |4 a/ T5 |7 N5 d3 _

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-11 15:18:29 | 显示全部楼层
用kubeadm创建Cluster# E! q$ p) _4 l  N- L$ a
#自动去拉取所必须的images
: @' K7 V- U1 r. T; M) v: Skubeadm config images pull
) ~$ N- \3 Z/ a& z3 w0 Z& h7 Z0 p7 u; j3 S% [5 x( J
初始化Master和添加节点% x( E) l, o1 b& V
#重置:
/ t" }' R/ h- \4 W1 Fkubeadm reset
$ ?, T2 }( x4 m* C4 w$ h; ]4 `$ X
kubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16  l+ B, W8 G. o) r
#–apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡, z) T- f0 p* ?' H2 }
#–pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案
8 P+ |- B  V) G3 W% g; g5 i% |& [" E
#创建token' L/ @% U& Q5 x: H  k
kubeadm token create
$ _* p$ W" F/ D+ W#获取ca证书sha256编码hash值
" C1 K! A# Y8 uopenssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’) q; J: w7 @& C) F
#添加k8s-node节点
7 L, \5 B7 L. r7 o. ]$ Nkubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b* w/ l2 g5 Y7 e6 n

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-18 13:58:53 | 显示全部楼层
[root@kubernetes-master ~]# kubectl config view
  }4 a  P9 I  O# \& c$ g; T' G5 FapiVersion: v1/ S! ?7 l! A' q- T6 b% t
clusters:
0 h& z$ ~" M0 Q; B, |- cluster:* r1 t! c7 x- z. t
    certificate-authority-data: DATA+OMITTED
) _4 D( Y8 N. z    server: https://172.24.110.182:6443+ M1 e- O; {2 W1 C7 Z% M
  name: kubernetes' k% t6 f; C- D6 s+ s, O0 F9 P
contexts:
9 V) j% E& I" g- context:9 D" e- q) H$ P2 B* Z
    cluster: kubernetes3 q! F4 F0 J# X+ u5 o1 c+ R% O; R
    user: kubernetes-admin
4 k/ o. f' r% G4 {  name: kubernetes-admin@kubernetes* ?- L' U2 b0 k* \7 ?7 ?
current-context: kubernetes-admin@kubernetes0 A" I# G# q/ G0 B1 a; g, e1 y
kind: Config' u3 p9 b! h% L2 K+ d
preferences: {}
2 [+ h2 I7 j0 D4 Iusers:3 U4 N4 h. b1 A! @/ W$ [# G
- name: kubernetes-admin
& Q; i% H4 j8 L) ]2 B, [  user:
" E2 q; @% w# M1 k$ ?- ]$ x4 e    client-certificate-data: DATA+OMITTED  O; Y% f% J" i9 ]8 Z- E$ o1 c
    client-key-data: DATA+OMITTED0 k& T2 r; B, u2 [. U
[root@kubernetes-master ~]# kubectl get nodes  c9 d/ c+ b* `$ q0 N; u8 m3 F
NAME                STATUS   ROLES           AGE   VERSION% t' y: N- p! u
kubernetes-master   Ready    control-plane   22h   v1.28.2
" k# a( T+ ]8 ^3 s: Q, Akubernetes-node1    Ready    <none>          21h   v1.28.2* T# l0 z$ R& W+ M5 h8 o) [
kubernetes-node2    Ready    <none>          21h   v1.28.2
9 o1 n2 G: R( u1 u- C# j+ }# C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:32 , Processed in 0.017791 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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