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

kubernetes相关操作命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2024-9-10 17:20:49 | 显示全部楼层 |阅读模式
查看相关命令
& N0 z$ \- C2 Z0 v) A#查看kubeadm生成的token
1 H, p0 @: v# }. h% H- `kubeadm token list  T/ |7 @0 r4 {. ]* |

! d1 N& m+ `6 xkubectl get nodes #查看节点的状态:1 N$ x3 L8 D0 U0 u- c1 a0 v- Y# H
kubectl get pod --all-namespaces #查看pod的状态  V% Z: n9 [% k3 h/ G2 d; Z
#–all-namespaces #查看全部namespaces的pod2 {8 {" t2 ^  V% I8 x& j5 A8 S
kubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布
( a& k4 w7 y) K* N4 K: J4 g#-o wide #查看pod的分布情况4 f# t) y: e1 T4 i: C: S* u( h
kubectl get deployment [nginx-deployment] #查看部署状态
, ]' m$ O0 ~3 _; P/ o; P6 rkubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件
) R1 A7 J; c8 `  V* y# _6 \# _kubectl get replicaset #查看部署状态
! C% c; w5 `3 L: a* V! U9 ukubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件
. i% q( ~" D+ B8 [0 Z' fkubectl get node --show-labels #查看node的label
4 M9 A5 H6 w; [. }! Ykubectl get job --show-all #查看job任务! w7 g; o) |  `) X* Y. G
kubectl get cronjob #查看cronjob任务
+ K! q4 v* d* T5 Y' k7 c* ]" Vkubectl get namespace #查看运行中的namespace
4 U! r+ M' N6 B8 W! U+ Pkubectl get pv #查看pv% I' A4 V* D6 R; E; _/ W! |3 M; O
kubectl get pvc #查看pvc' Q! b' `! ~5 s
kubectl get secret [mysecret] #查看存在的secret& B9 f$ ]" b1 e' E/ {" j% D8 d
kubectl get configmap [myconfigmap] #查看存在的configmap
' w3 P- e' p1 k+ h/ g( H4 b$ K, b. \/ b3 }+ z: Z
kubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志
% c1 k$ S7 i; l) G  k: j8 ~1 rkubectl describe deployment #了解deployment的详细信息2 _0 Z! Y8 m) B* P5 }
kubectl describe replicaset #了解replicaset的详细信息6 `  e! Y8 X. ?
kubectl describe secret [mysecret] #查看secret条目的key# c; z  R; z' a8 V7 s" y; [
kubectl describe configmap [myconfigmap] #查看configmap1 V' C5 K7 ~# j

$ z* f8 e- N* l' F# o! E- q/ \: Ekubectl logs myjob-nfkxk #查看job执行的结果
/ B, Q* O5 _) B" C+ t! ^  u6 J
- P4 Y) Q- u! g6 k/ k1 M4 R创建相关命令+ G, A  w2 E8 B
#创建token
6 U3 u8 [. d4 D5 R- j' a! ikubeadm token create1 T( ?) Y; I3 g0 r3 Q
#获取ca证书sha256编码hash值3 O  |0 \0 S3 c
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’* u4 S. c8 R* V" e( z- ^/ K' Y
8 V/ E. [2 n8 N9 X' \( D
kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod
' G" j# C! f' w5 L' r! H; Z#httpd-app #命名为httpd-app
  I: w" {% ?- q! e8 F) \#–image=httpd #镜像名, M. |$ ~8 C% @  I
#replicas=2 #启动俩个pod
, \, x1 c8 ?" e, z! M2 \4 Z4 _$ A& x+ `7 _- e2 g
#通过配置文件启动5 |6 u9 N6 P; M2 B8 R1 {2 L
kubectl apply -f nginx.yaml
2 D7 h! B$ d+ J# S" w9 N) d. }# ~( D* J! [9 ?$ M7 G3 C! e
kubectl apply -f httpd.v1.yml --record7 y4 O) r% \, ?8 B; F
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。
2 J* `0 ^) Z4 W( Y+ T#可以通过kubectl rollout history deployment httpd来查看revison历史记录# K5 t! o6 F8 H6 q) }  n+ h
#创建namespace:
) a0 m1 H2 K5 ~3 ?  o8 D5 {kubectl create namespace weave
7 s- y% f6 B6 e$ |- @" v1 V! \& @! |& J. Y: z
kubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap
% {" ?: F& Z( Z2 B( i) P7 `kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret7 P, A6 _9 U9 U7 j! V2 _8 s
1 O: M' t  ^) y7 z7 L/ a- k
删除相关命令
2 M% C, w6 Z$ r& _; L; U* Vkubectl delete deployment nginx-deployment #删除deployment任务+ H8 ]7 z5 g; |( l) j, S
kubectl delete -f nginx.yml #删除deployment任务
" G+ L  m9 a: v7 i  |+ Z
: e; W5 z) F, @7 }1 ]  ]; \1 P5 N% qkubectl delete pods --grace-period=0 --force #删除pod. R: O4 ?4 V3 q8 K+ F1 |: u

- Q" T: n0 ^7 c6 `" Ykubectl delete pvc mypvc1 #删除pvc中的mypvc1; K5 A& D& X* z8 p$ a+ p& s7 ^# M
8 h9 }7 B9 |( H6 C2 a/ b
用label控制Pod的位置
0 w: B7 e; E6 W% o% ~kubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd4 `/ b. Z( Y, T$ M0 Z  z3 z
kubectl get node --show-labels #查看node的label; ?6 g+ ~& x; \  d
kubectl lable node k8s-node1 disktype-
2 ^( T% k; O  v* p  J1 O6 [1 h, l  ^4 |" g8 G# h
edit命令
, z3 X+ T; E  A. @4 ?5 o" m! u5 ikubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件
( r, D' s" t, X' T! }& E
# f; h1 ~# {9 V. k$ t1 Xkubectl edit secret mysecret #查看value( u3 h4 t: c9 f7 ?0 i, `

/ F$ R& L" b8 f5 ]update rollout命令* L7 t! U+ \( |2 h$ X5 P; k' l
kubectl apply -f httpd.v1.yml --record
5 b& g1 c: B- |0 G4 W( N#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。9 U* E4 u" I5 E" o+ Q, v! [
#可以通过kubectl rollout history deployment httpd来查看revison历史记录  W; _& Y( H; N0 J7 p7 K* _/ B% b

6 W9 a/ ?7 }" M8 Q6 ]2 r3 t- ^kubectl rollout history history deployment #查看revison历史记录
5 I0 c* Z+ N+ |( f' Z: h: @# T: B6 G5 J, t- y
kubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚
/ e. R' R6 V& j, ?: {* L8 C1 h- w  U& C
其他命令! A/ p+ O8 A9 }8 i7 K
echo -n root | base64 #base64加密2 ]! n) ~. E( j1 H( s
echo -n MSDF32D | base64 --decode #反解码. y" q. ]) Q2 a& ^8 k4 t
8 C7 @& ^& ~& U. t+ b
#自动补全功能
' t/ J" i! Y$ j; Yecho “source <(kubectl completion bash)” >> ~/.bashrc
$ Y, o3 z$ b* B$ V( n* a0 Y#helm自动补全功能; O( v( p4 g3 j
helm completion bash > .helmrc echo “source .helmrc” >> .bashrc
  @% v) L* p0 ?( U; G' v7 P7 y5 t, e
' I+ @5 X2 k1 Y" T' T4 }- p#查看集群信息; F/ v4 g( y( i" z
kubectl cluster-info
/ P) Z6 `* y- a, A#查看apiserver的版本,和已经使用的api
- |  d1 F+ k# W) S, g  c" Ukubectl api-versions
  J) O3 t, H+ P
. w: g. Q. W- E8 F, Z6 d; s#将master当做node使用
, i3 [& p& b% |5 q; }2 F! {kubectl taint node master node-role.kubernetes.io/master-, O0 M# b8 b6 @6 F% u# Q
#取消master当做node
" {& a: y' v4 N3 ]2 T3 @1 l5 |kubectl taint node master node-role.kubernetes.io/master="":NoSchedule
$ D$ m0 R' R0 _( j! E# P
$ g, h+ \. r( A0 }  B  u#踢出节点
0 h9 t9 W8 \5 {- y- Lkubectl drain nodeName --delete-local-data --force --ignore-daemonsets
; E; W4 W+ z' D2 {9 Y$ _9 Y0 U- pkubectl delete node nodeName
6 Q5 x. o- s9 O5 Q
% n( I2 V: {! e" Y- {( s3 K  o#kubectl top查看k8s pod的cpu , memory使用率情况5 Z6 f3 U- J2 d6 H. I
kubectl top pod --all-namespaces" h* {8 F& C0 w" O; C7 Q& ?; u2 M* C
" s; T' S+ ^9 P: D

4 a8 {2 v1 Y& S! g$ j

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-11 15:18:29 | 显示全部楼层
用kubeadm创建Cluster
; U; i2 M8 c4 d, u$ z; P* h: l( a#自动去拉取所必须的images
' J% \. K4 `+ Q" d# ^4 P3 \( V, Ckubeadm config images pull* l2 H$ \# |$ Z9 y; O/ U2 a1 L
( i4 T2 V- o) g3 G, N% ~
初始化Master和添加节点# e3 W1 M1 V( p- h( n3 T6 Y* B
#重置:6 n* @  n( f: _" J$ E2 f7 l
kubeadm reset
) ^) Z6 _- |. y3 D1 v
; Z/ K5 i8 Z- J. Ykubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16
8 i6 f9 G, a! V  Z# V9 Z#–apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡  P/ a: K; j5 p1 a# d. D# c9 q& v
#–pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案
: ?5 ?( N/ C! J/ J8 {5 W2 j; i" o  p$ x" Z( |
#创建token
! i7 m4 j4 V/ k0 [+ l. j! akubeadm token create
: y7 s2 N* c6 i2 n* T#获取ca证书sha256编码hash值) H0 f; M% a9 F
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’( b! x7 Q6 B# T5 P0 }8 a* X
#添加k8s-node节点
6 V# z. g- A  h* t% Nkubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b
# F5 ~* i" C0 c. A: R

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-18 13:58:53 | 显示全部楼层
[root@kubernetes-master ~]# kubectl config view
3 h3 P& q; R1 T/ G, D6 b9 \6 KapiVersion: v1
3 r9 Y8 v$ e# \0 a1 Qclusters:( b( d& n+ u4 M
- cluster:
" {, b2 u8 y& K- n    certificate-authority-data: DATA+OMITTED) ?6 x0 W) g; s6 I' _& R
    server: https://172.24.110.182:6443) J4 w9 k$ g2 g* K
  name: kubernetes  |. L* v* Y8 u4 d
contexts:+ N2 X+ v! J! L' ~, M
- context:/ J0 G- x/ }# e4 `
    cluster: kubernetes/ W/ m+ a; w  q
    user: kubernetes-admin
* l  x3 x' X9 n7 P7 L- l  name: kubernetes-admin@kubernetes0 F( r  d. t# A9 X5 Z
current-context: kubernetes-admin@kubernetes
" D+ [$ j; X: `  O- }1 hkind: Config6 Y5 h- m7 v5 m
preferences: {}7 p$ E) b$ o/ o6 }6 f$ C6 k
users:
$ j- |1 ~2 }6 k- name: kubernetes-admin
4 r1 d8 A( K! o$ h& _: Z7 {! c  user:
0 ?4 E5 j6 k/ ]; R5 U7 x8 S    client-certificate-data: DATA+OMITTED- M& U$ q& t1 G2 \
    client-key-data: DATA+OMITTED
2 \' ]- {- T3 ?) f, X[root@kubernetes-master ~]# kubectl get nodes
+ a" p8 Q9 `2 ]NAME                STATUS   ROLES           AGE   VERSION
0 P: X+ \' A6 r  g/ h% }kubernetes-master   Ready    control-plane   22h   v1.28.2* d( u6 H$ Q2 [8 D' {/ t2 j, ~8 a
kubernetes-node1    Ready    <none>          21h   v1.28.22 P- |2 |  K8 V
kubernetes-node2    Ready    <none>          21h   v1.28.2
3 S5 C7 _8 a2 w$ k5 P1 X
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:39 , Processed in 0.030526 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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