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

kubernetes相关操作命令

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2024-9-10 17:20:49 | 显示全部楼层 |阅读模式
查看相关命令7 Q+ Z) S, \/ I3 v  T- r
#查看kubeadm生成的token
. Y% p) g  V: S9 {$ Lkubeadm token list
, z4 R7 h& Y$ x0 W8 h8 Q- g; H5 I2 L" d/ ?. k( g3 a! X5 ~; d
kubectl get nodes #查看节点的状态:6 Y& |( e) o3 X, T8 _# N
kubectl get pod --all-namespaces #查看pod的状态
, ?9 Z# V6 C1 F& ^#–all-namespaces #查看全部namespaces的pod. Y- M" E& x( _" M
kubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布; i* L2 t' c5 T8 \3 _8 A5 E/ I
#-o wide #查看pod的分布情况
( Y9 v) M0 z5 U4 Y1 ^4 W4 Rkubectl get deployment [nginx-deployment] #查看部署状态
3 t  a; k+ h. N- n- ?kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件7 p2 F  U$ P& `1 i% B
kubectl get replicaset #查看部署状态( G. |1 a& @1 ~# E/ h; Y1 x/ W, x
kubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件
5 O& ?2 _: b, F6 ikubectl get node --show-labels #查看node的label
: J6 w' b7 }1 j7 a' g; `" Vkubectl get job --show-all #查看job任务9 e+ B* X9 C! C" o2 d
kubectl get cronjob #查看cronjob任务$ B2 c1 f8 \8 |
kubectl get namespace #查看运行中的namespace! w2 b/ f3 G7 O# D% O
kubectl get pv #查看pv
( g1 L7 Z7 C' {1 W4 v3 bkubectl get pvc #查看pvc5 s: l- P8 f7 @3 I2 n  ?
kubectl get secret [mysecret] #查看存在的secret
. D# N  O% D' S0 akubectl get configmap [myconfigmap] #查看存在的configmap
: G) {' b5 [# W; j* |
0 g4 ~- J. G( s9 ~  l8 Kkubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志
1 p$ |$ M8 {6 s6 t* ukubectl describe deployment #了解deployment的详细信息
. O7 y# X/ T- u. Xkubectl describe replicaset #了解replicaset的详细信息
1 i8 T. ~" J4 J- l" L* Wkubectl describe secret [mysecret] #查看secret条目的key
+ K5 Z! L# H; U8 r( ]; M7 G$ Zkubectl describe configmap [myconfigmap] #查看configmap
- f; H. C& G. ^0 B# e& ~  ]7 a# _8 y0 D# O) D( K3 {
kubectl logs myjob-nfkxk #查看job执行的结果! s" H+ o, H5 D

" J+ f4 f4 L  v8 a: f5 N7 I) a创建相关命令. |* y$ i; w" L/ K3 A! N2 \
#创建token
7 V/ v4 t4 I+ G# t& Rkubeadm token create- m/ j/ `7 r; E
#获取ca证书sha256编码hash值8 ~9 _6 g4 `) N5 ~9 Z  W
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’; g/ x' v7 C+ X5 Q5 `1 O
" A# N5 l* k) ]# K0 b: \% z
kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod: f/ H3 ~# R; F# @5 z
#httpd-app #命名为httpd-app
, f- [5 r8 }3 g% X2 {4 Y#–image=httpd #镜像名
2 O- \' z) [) C5 k; K) c#replicas=2 #启动俩个pod
9 d: i! G5 @; b' k" ?6 ~1 ^
+ L  [( X# v  j3 j' J#通过配置文件启动
4 ^/ s8 w; W4 I* H4 v  b; Vkubectl apply -f nginx.yaml% d! V( ]4 i: u6 T# y
: w0 m1 b8 R: `; X# r' c
kubectl apply -f httpd.v1.yml --record
% I; B0 j0 D% f$ t#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。/ u6 S9 A& A/ |
#可以通过kubectl rollout history deployment httpd来查看revison历史记录
- ?# j* v5 C3 G. H2 ~+ B) D& c" p#创建namespace:9 s* y7 s3 ^- y# n' M
kubectl create namespace weave
  q9 A0 {  Y. p+ v' S" b/ j! G3 `' s* \/ d0 O, u5 ?- O: C* h6 p
kubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap+ A7 {* R- s& v! W* l
kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret
5 x, S( t3 o$ I- T2 Q
6 A2 u& S: ^1 C+ F+ Z' D' U/ T删除相关命令/ k4 c& @  E/ `% N
kubectl delete deployment nginx-deployment #删除deployment任务3 f/ n, m2 E" n  V/ ]  a
kubectl delete -f nginx.yml #删除deployment任务) x. p. G2 P) s

5 L( `4 D% {0 g1 X' ^kubectl delete pods --grace-period=0 --force #删除pod
% C) ?1 y) _$ E" s% l8 _
& O  A' s' A( [* H6 v) m' G( Lkubectl delete pvc mypvc1 #删除pvc中的mypvc1
1 a! Z: T0 v$ K) W# E9 }: E: q4 \0 }/ |
' T1 @, H. P! n! N. y+ |用label控制Pod的位置
7 j& u4 u8 a# E- y/ ^( P: Wkubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd  `# H0 `3 W' c+ N( a  l0 `/ I5 W' u9 ?
kubectl get node --show-labels #查看node的label
; g. k; F3 V9 Rkubectl lable node k8s-node1 disktype-) r0 c7 Q- ?+ C6 Z

8 p; v$ W( Z/ Q2 i2 r( `4 @- k% @1 Z5 Nedit命令% ]' y, U; o- O* U: H: p& j) [. ^, y; F
kubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件
# T7 t* K5 A5 j  E4 x. u1 J
4 M& d) A4 H  ]* t- pkubectl edit secret mysecret #查看value' U, S  J* D/ j! I

3 O7 v5 [0 {/ S% Oupdate rollout命令2 B8 F. C+ I4 c0 Y3 E/ _
kubectl apply -f httpd.v1.yml --record
6 S; }1 ]( V4 n1 _6 p#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。
" ]9 |4 p' `: I+ ^#可以通过kubectl rollout history deployment httpd来查看revison历史记录% S% L5 i% d$ ~2 o& j
3 P7 Y8 e( H; s  t; \- o9 y
kubectl rollout history history deployment #查看revison历史记录& x4 g6 P4 O2 a# k, x5 S

: {9 `: ^' f8 E% X% Bkubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚
5 A/ M$ N: _4 ~' B+ I" p. _; H; {0 M8 e2 T
其他命令3 T# O  k' O9 r4 @& j+ M! w% p
echo -n root | base64 #base64加密& k, r: c, h" k7 ^& E
echo -n MSDF32D | base64 --decode #反解码6 u: Q% b0 Q1 F( X5 c2 H* ^  G
0 m! n; c- }( B9 q+ l( i  U
#自动补全功能
1 }$ i" x' D' J/ \. P3 w5 vecho “source <(kubectl completion bash)” >> ~/.bashrc
7 d! c( ]$ z7 m#helm自动补全功能# V- D. c: H( O
helm completion bash > .helmrc echo “source .helmrc” >> .bashrc/ Z+ _! z  w7 V; m+ w+ X+ V& I

* V# S! o* L; N2 c8 f#查看集群信息* c1 T  F  F/ ^9 S/ |+ m
kubectl cluster-info+ W& ]- R* W- j  x5 r8 c2 N' D
#查看apiserver的版本,和已经使用的api( \' ~" ~& m! u) O4 i- P. {: ^+ ]
kubectl api-versions
* v( `# O* a1 f0 [) L; R
+ H% n3 A3 i8 K' M0 t! g#将master当做node使用. x6 p$ r) A  L4 W
kubectl taint node master node-role.kubernetes.io/master-4 I0 ^: j8 {- n( Y9 C. b
#取消master当做node' `# G- [$ z  s/ F
kubectl taint node master node-role.kubernetes.io/master="":NoSchedule
; R, e; w. h7 u% V/ k5 b5 X0 I) e' w# u- c9 Y
#踢出节点
% t* s* I! Z9 K7 p% w/ j, kkubectl drain nodeName --delete-local-data --force --ignore-daemonsets
( h& N3 k6 ^& l& F/ `% Skubectl delete node nodeName( |" S; g8 |* W3 x1 A) v

1 P6 w8 l/ U% I#kubectl top查看k8s pod的cpu , memory使用率情况
% i, A; r8 y; l$ lkubectl top pod --all-namespaces# l3 w+ G, N- y' I8 d5 l! O

5 v2 M5 H5 L9 X1 W/ E4 e
  c( p! F7 j! u+ ^4 [

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-11 15:18:29 | 显示全部楼层
用kubeadm创建Cluster
( f3 O* I% L4 O& B$ Q% g8 @+ t( c/ R#自动去拉取所必须的images9 j2 f/ T# t2 P. U' T7 `/ g- [6 L
kubeadm config images pull
3 K6 h  _; }! m7 ?( T: d, g2 S* t0 B& N
初始化Master和添加节点
2 p3 q+ ^( _( Q  A* Q5 `# t#重置:) U; j' x. K+ ]4 w) d4 I! R
kubeadm reset$ i9 S( B% w" K# \5 X9 c

1 K! X( {& _" y5 qkubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16
4 C0 t! X/ n5 p#–apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡
  u7 O1 q7 T; t* y#–pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案9 G9 T: h' b) T3 l, j

# C5 m' X6 e6 k#创建token" _9 m6 f2 m% |2 d4 I& C. c( g
kubeadm token create
% L' ?( w! p6 ]! c+ r#获取ca证书sha256编码hash值
: i7 x" J1 a7 l7 sopenssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
# V5 s: C2 Q1 z' Y, ~; h#添加k8s-node节点
/ K% A0 C/ G% Jkubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b+ B+ m. ]9 ^/ N' C0 {

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2024-9-18 13:58:53 | 显示全部楼层
[root@kubernetes-master ~]# kubectl config view0 z2 _5 q! K0 o6 ]( i' u
apiVersion: v1$ W2 H+ G. x$ ]4 ~4 p$ [" P7 O
clusters:
; G9 Q, ~2 g; h3 e; Z) A; b6 O/ L/ a! O- cluster:5 v1 R% Y: S' r* l  Y
    certificate-authority-data: DATA+OMITTED
- Z' ~; r* z, W( S    server: https://172.24.110.182:64435 z/ u  b' V$ a. f# r
  name: kubernetes
  H/ |, Q" k. i* [* C: _9 C  \contexts:
+ W0 |4 K% k9 Z0 j- context:
0 N8 X9 S3 ^. b" O  V    cluster: kubernetes
& H# Q. B% t; t0 V$ F    user: kubernetes-admin; o4 r3 M: W9 @
  name: kubernetes-admin@kubernetes
3 H- y0 p, E* c& t& pcurrent-context: kubernetes-admin@kubernetes) H. m7 b5 l% Q. a' L6 h+ E- e% h
kind: Config0 ^$ T" ]) @9 Y% A/ [  t
preferences: {}
( m% b) b% ^6 \4 cusers:
  h" x3 g3 e' k% Y- name: kubernetes-admin! W: n# m5 l7 z# t
  user:* a5 y8 }% f+ T# h) {" x
    client-certificate-data: DATA+OMITTED8 W9 |$ k6 }6 [7 y6 q
    client-key-data: DATA+OMITTED! p, U) g3 [4 q& X; A
[root@kubernetes-master ~]# kubectl get nodes; y) l/ u7 o  N* X9 `
NAME                STATUS   ROLES           AGE   VERSION
5 d) b% R+ P7 |9 d2 h; |kubernetes-master   Ready    control-plane   22h   v1.28.2
/ ?! T# b7 N% Hkubernetes-node1    Ready    <none>          21h   v1.28.2
; ^6 p# g3 [6 k) Y4 Hkubernetes-node2    Ready    <none>          21h   v1.28.2
1 k* K# ?2 E9 Z3 v( E7 R9 b7 s
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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