易陆发现互联网技术论坛

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

kubernetes相关操作命令

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

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

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

x
查看相关命令% t' k( w4 \/ W
#查看kubeadm生成的token/ U- k3 H( O- S/ T# ]; T8 G9 T. x, R
kubeadm token list
" T0 t5 b& q6 n$ ^/ `; d; \. Z6 W1 k- w* X
kubectl get nodes #查看节点的状态:! \" A% d8 b6 d+ W$ ]. D& u. b
kubectl get pod --all-namespaces #查看pod的状态
' l" K) r& y& q  h0 J+ |# x$ w#–all-namespaces #查看全部namespaces的pod
$ o6 P* f3 j. z! Mkubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布
7 |; n; |0 f- f' Z7 _4 C: E#-o wide #查看pod的分布情况
' G. h4 }' [8 a$ ]( zkubectl get deployment [nginx-deployment] #查看部署状态/ y3 r7 P' W4 n" H: \! A6 D
kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件
0 A! ?9 B% ^! F- wkubectl get replicaset #查看部署状态
) V' b& T* f+ N* |+ L* ukubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件- O4 d$ q& D' ^+ A7 e3 {$ e. t/ m/ z
kubectl get node --show-labels #查看node的label
" K! g) T( p/ q$ E# c$ {kubectl get job --show-all #查看job任务" ~- F$ i! y1 c; \. Q6 W9 u# v
kubectl get cronjob #查看cronjob任务
+ Q4 t' g4 G3 lkubectl get namespace #查看运行中的namespace
" F. P1 g4 w  D+ P# v1 D2 tkubectl get pv #查看pv
8 }0 j& R9 f) x1 ykubectl get pvc #查看pvc3 l9 z! v! \3 u8 }- K3 v) K: ^$ L
kubectl get secret [mysecret] #查看存在的secret  @4 u, n+ ]) b- K
kubectl get configmap [myconfigmap] #查看存在的configmap$ m$ O. d" Y  ^) d2 P
0 I' Y& X1 J# P: s9 N9 z6 w$ X* V- a% R
kubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志
4 @9 P, Q( Q, Lkubectl describe deployment #了解deployment的详细信息5 O2 l1 U1 }8 f' |: ]
kubectl describe replicaset #了解replicaset的详细信息
+ x1 ^6 p7 X- p% ckubectl describe secret [mysecret] #查看secret条目的key/ p5 @: y- c" S6 O9 B7 T% Y
kubectl describe configmap [myconfigmap] #查看configmap
3 u. k5 x! X0 Y1 k3 n9 Q! T
& I, \5 C) K# S# n( {4 p! b$ Gkubectl logs myjob-nfkxk #查看job执行的结果
' a/ ~1 u% C* ~  G" T
. s; q) y  b! V6 ~6 i* M创建相关命令% U1 R0 t9 u" q% o1 y2 T
#创建token
5 A; v* `: X1 v9 z- I5 W5 h5 |kubeadm token create
* K3 P) z' i) Y* F, z: V#获取ca证书sha256编码hash值
% {. ]5 v9 c" y. Sopenssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
" _& o, K- ^/ x+ @
# n9 w1 Q& z5 t6 Q- [5 w; ykubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod
% _5 V; u, E) K7 x) \1 U1 A$ ]#httpd-app #命名为httpd-app5 R$ O; p# b1 S; j
#–image=httpd #镜像名
9 K% ?; W5 R& {7 q8 E1 Z#replicas=2 #启动俩个pod
9 Y; V8 b9 l* w$ s: c" a) Y" ^3 y, W7 o
#通过配置文件启动* G. \) u9 ]6 r  e
kubectl apply -f nginx.yaml3 |9 }( A! B# I' ?9 Q( a
% l. z  Q0 @2 w4 x1 ]# u
kubectl apply -f httpd.v1.yml --record" X* _& a% T/ Z7 _
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。6 m1 b/ J9 i  C. S' }; F( B; f' S
#可以通过kubectl rollout history deployment httpd来查看revison历史记录* A  B. M% M3 o* @
#创建namespace:
4 c" S/ Z5 {% q+ u5 C& u3 Akubectl create namespace weave3 i( E) O# r; I( y

& Y* @1 Q/ l; }+ @) Ikubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap* j$ {" L" m# p" _- z; F
kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret
) L4 K0 d5 |& A# x
/ j, f8 I4 r; s6 H. F* R5 V% ?  D- N删除相关命令3 l- i6 i" I, H0 C5 m: o) e. J
kubectl delete deployment nginx-deployment #删除deployment任务; \6 P5 B2 e; e8 n0 w; n/ ~4 a
kubectl delete -f nginx.yml #删除deployment任务
9 ~( m7 J1 {5 `, o/ M
' Y" V9 J# D  C. z1 \6 dkubectl delete pods --grace-period=0 --force #删除pod
# {; T+ v8 I6 A+ N7 K& [2 ]5 V; L
0 }( Q7 _) @6 U/ Z; }: z( }2 x) rkubectl delete pvc mypvc1 #删除pvc中的mypvc1- w7 ]1 E' b: c  E+ s+ J

: v. r8 V/ d9 d" u用label控制Pod的位置
8 h! H8 t$ L5 Akubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd! U% ~. P9 t8 [
kubectl get node --show-labels #查看node的label( b- ~4 l1 S) i- j5 p
kubectl lable node k8s-node1 disktype-
, \8 J! n9 X( V" B1 L% d
& a* Y  z; P( s4 s7 O2 Z4 z) v7 B6 dedit命令
/ Q4 n+ q/ j; m3 J  dkubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件
7 x4 w) F$ s9 c4 y
2 w, U) e1 ^/ {- @; akubectl edit secret mysecret #查看value; l& J# c7 V8 t
* I! ?; l. [5 t( L6 M; x$ J% N
update rollout命令8 ]& l2 T  M* w: v' @
kubectl apply -f httpd.v1.yml --record
6 {) D. C8 l1 e. b#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。- ?+ |6 l6 T7 L( r1 }+ d
#可以通过kubectl rollout history deployment httpd来查看revison历史记录& U7 R9 R5 v1 U& T

  r  z3 a! Y" C! q1 R7 Okubectl rollout history history deployment #查看revison历史记录/ \5 o8 a+ P9 @5 ]6 B% S

$ q2 Y4 z' f( p( \& s! bkubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚* d: S0 x; Q: ]) L! _  M

4 H& v' g1 a7 K$ w* I其他命令+ r. Y6 O7 X9 {$ ~3 E/ C8 w$ j
echo -n root | base64 #base64加密
; L% F/ }/ d& B, {! aecho -n MSDF32D | base64 --decode #反解码
7 K9 D# Q8 F7 p. {! q7 \. I! T4 T  k+ B. N) u& n( J
#自动补全功能
/ t- {. l) k2 n; y# Q0 q) o5 c" V4 }echo “source <(kubectl completion bash)” >> ~/.bashrc: L0 l( T" A( E5 ^$ Z1 C" p
#helm自动补全功能( q& k( {4 w4 h* U/ G) v: G
helm completion bash > .helmrc echo “source .helmrc” >> .bashrc6 x0 {- L* s1 L4 \' J
4 A% t' C8 `8 Z
#查看集群信息) H3 y: t- @# n! S) i
kubectl cluster-info! j/ C6 F# T" M# J6 E+ |$ R' u
#查看apiserver的版本,和已经使用的api+ @* ^" x# s, z/ H/ s5 F
kubectl api-versions
- y8 |# f! n  N2 h9 s/ g1 X$ J) q5 Q9 f
#将master当做node使用
; A( m3 u9 E! I( F4 k8 ]3 dkubectl taint node master node-role.kubernetes.io/master-
2 }. t5 O2 v6 g2 Q& O, {#取消master当做node
8 t7 t5 U1 |% ~. g' D5 gkubectl taint node master node-role.kubernetes.io/master="":NoSchedule
/ X1 T' K0 ^8 Q$ e5 a; @
4 o0 ^* _4 I& Q/ u" [#踢出节点( `' V, ?- f' T2 u" f
kubectl drain nodeName --delete-local-data --force --ignore-daemonsets
5 t4 H1 H1 s: ^% bkubectl delete node nodeName  v+ N; l# d& b1 z% V( M2 s/ J

# B& v4 f8 U, l- ]7 ^6 o#kubectl top查看k8s pod的cpu , memory使用率情况% B. |; l& c+ r. u; v% u: _+ |
kubectl top pod --all-namespaces
# S: U$ \* d) H# w, U3 N6 A
+ u2 n% w! d# g0 e5 e9 U: _4 ?% a, o/ z/ w
 楼主| 发表于 2024-9-11 15:18:29 | 显示全部楼层
用kubeadm创建Cluster) M5 e- V4 f4 F
#自动去拉取所必须的images
8 c5 {+ E3 C, X1 e* Wkubeadm config images pull) y% l& ~) Y& C( D0 o7 @
# S# F5 W9 `/ z8 S$ R9 j
初始化Master和添加节点+ ^' J  f2 ~# P1 X2 w
#重置:
1 W( x" x$ M/ o6 w# D: l" Y) ]( Skubeadm reset
) O" Z/ q3 {6 K" ^: ?( J# w( Z
; v$ w# f7 ?& D1 w2 Dkubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16) Z9 r3 s" T# C0 g7 z/ P
#–apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡. d7 z# F1 [! z( z& O/ Z7 q# \( M
#–pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案5 e! e. k/ [4 U

. L9 M( q1 I: E$ c1 k  \  a- _, j#创建token; B# C" F7 D; `5 B3 U- X
kubeadm token create) i3 i# C! u: o; K  L7 x9 a: A
#获取ca证书sha256编码hash值  t. s* `2 q- r- N5 f/ A( w
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’  O+ \) k% i9 X8 @- J% l) d
#添加k8s-node节点2 J+ q4 c" g0 p" @
kubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b. U7 n* C* f+ [
 楼主| 发表于 2024-9-18 13:58:53 | 显示全部楼层
[root@kubernetes-master ~]# kubectl config view* Z( }; S! t8 [5 o! f# E
apiVersion: v1
2 Y8 d7 }( @6 a5 S: k' Sclusters:: A* h' y6 `2 N/ V1 u* m
- cluster:; I8 X0 H, ~) Q6 ^3 s3 u- \
    certificate-authority-data: DATA+OMITTED
1 s9 R4 I0 s4 I8 f* n    server: https://172.24.110.182:6443* P) x6 k- X! C$ k: u) v: k
  name: kubernetes
8 }5 t: H% _( L' n: j0 ocontexts:! S3 `" ?$ ?- j( s0 U! O5 X' x
- context:
. F' W$ ]6 f* ~: i( A5 K    cluster: kubernetes8 a) t4 D7 f1 z2 z; h
    user: kubernetes-admin+ U2 t6 |2 G+ D
  name: kubernetes-admin@kubernetes
+ `0 i) Q  u) I3 `" p0 Y8 [. Zcurrent-context: kubernetes-admin@kubernetes
6 |) b& x( M. S9 w; Q3 ^kind: Config2 x7 T3 j$ {5 G- S; z! N( @9 L
preferences: {}
1 G# b( k4 ^* ?+ N( J3 husers:
5 R% P" c) K, B! m9 \- name: kubernetes-admin1 I6 N' f! I  Z, i0 r
  user:4 b+ e) D' p7 l6 g' [5 Q) k2 Z
    client-certificate-data: DATA+OMITTED1 U: u- c: b2 H9 d, Y: v5 w
    client-key-data: DATA+OMITTED5 D* [2 h$ N5 L1 \* Z. [
[root@kubernetes-master ~]# kubectl get nodes
  {- f# V* r/ K0 T1 \; M, UNAME                STATUS   ROLES           AGE   VERSION6 g4 |- b3 W9 r5 A  l1 g% Y( b# }& @
kubernetes-master   Ready    control-plane   22h   v1.28.2
: c- S: C; c/ e. e" A& o  Fkubernetes-node1    Ready    <none>          21h   v1.28.2
# x+ s1 |/ t2 t' `7 `: F' Z$ f$ Xkubernetes-node2    Ready    <none>          21h   v1.28.27 H$ n' o! z; T
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 21:27 , Processed in 0.049652 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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