|
|
查看相关命令
; ^* r6 S7 u6 [#查看kubeadm生成的token
1 O& y( |) y* Akubeadm token list
. i2 g6 u' O/ q: o
5 u# R$ S) w# W9 Bkubectl get nodes #查看节点的状态:
+ D8 P4 v6 ^, y2 Fkubectl get pod --all-namespaces #查看pod的状态
# V8 [8 c2 P1 s7 ]) a$ ]#–all-namespaces #查看全部namespaces的pod8 K9 O6 A' Q* }5 M8 j( D, Z
kubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布! a. G2 [/ m) I: t( T
#-o wide #查看pod的分布情况) W3 T. [7 P T; d$ B
kubectl get deployment [nginx-deployment] #查看部署状态& I7 s2 O( y. k4 u( W
kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件
( N* R2 u6 [3 x/ O: E/ R; x0 Ckubectl get replicaset #查看部署状态+ K Z3 ]1 n- z: Y4 {
kubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件; @ ]4 n( s# X0 z
kubectl get node --show-labels #查看node的label+ R; \! T4 g4 ?. Z& [
kubectl get job --show-all #查看job任务
9 E: O' p+ ^" c+ a) rkubectl get cronjob #查看cronjob任务
* M* i+ A4 i, ckubectl get namespace #查看运行中的namespace
1 j" E. v6 }, |; W, L, Ukubectl get pv #查看pv
- }7 p( l' R: S" a7 b) U( Ckubectl get pvc #查看pvc
8 K R& e0 a2 A6 h# K2 ?kubectl get secret [mysecret] #查看存在的secret3 M; V' _! A! K4 F) S
kubectl get configmap [myconfigmap] #查看存在的configmap
' ]+ u3 H9 s# y0 P E: E. t( f5 g. _: W) C1 N; [( ]
kubectl describe pod [–namespace=kube-system] #查看pod的具体运行情况,或者启动日志: t9 p1 @$ z3 [0 `; A4 H; i0 j
kubectl describe deployment #了解deployment的详细信息
2 ]+ P0 K& R' `3 `( @1 Qkubectl describe replicaset #了解replicaset的详细信息
/ H& n5 Q: G& C! nkubectl describe secret [mysecret] #查看secret条目的key7 |* f$ _1 N" v s
kubectl describe configmap [myconfigmap] #查看configmap) J( q5 M1 Y' \0 N& O$ Z5 r' u
; W4 D+ z8 C9 K7 H) r
kubectl logs myjob-nfkxk #查看job执行的结果
2 f( x3 N9 R4 d8 A' y. n6 r
! p1 J w v8 {3 R# x创建相关命令
3 N, k8 m; Z$ ]; ?#创建token! B0 V$ d ]( d5 |& ~
kubeadm token create0 X5 J2 ~( y% Z) ?! a" v+ c
#获取ca证书sha256编码hash值# T3 q$ |) \- E9 A$ |. B9 d2 ^% M* h
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
/ M5 o% V: b- D# j# B% `0 r1 ]4 m# ?6 F; y- g' U
kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod* R% R1 J. Z6 p+ l3 I$ K# V& D
#httpd-app #命名为httpd-app
6 f: q: h' ?+ }4 f* K#–image=httpd #镜像名- m9 f3 ~9 w- v t( u( l
#replicas=2 #启动俩个pod
8 _$ C6 V% F+ f& y k- _; ]& n, Y3 b# t! K
#通过配置文件启动
& m& v* [1 o* L6 mkubectl apply -f nginx.yaml
9 i- I' s2 c6 g6 `; @
' U( C+ R X: Kkubectl apply -f httpd.v1.yml --record1 D4 q9 L6 J \4 j9 N
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。4 _) N9 D/ @% x
#可以通过kubectl rollout history deployment httpd来查看revison历史记录( n$ O4 p0 k1 ~8 G1 W! ^
#创建namespace:
% [2 X; r2 O \3 a7 \+ Q, @kubectl create namespace weave, ?0 ]; W* O' E0 T
, C A. p" m& v% J- Y, n) q8 C2 h' ^6 nkubectl create configmap myconfigmap --from-file=./logging.conf #通过–from-file方式创建configmap
- _* C$ s% ]5 {5 n& Vkubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过–from-literal方式创建secret
! F4 ~) N! C4 b' b: L5 t4 v6 B E9 B1 ?2 W/ U L+ C
删除相关命令# f$ ^8 N- O& F2 R+ K- g& k
kubectl delete deployment nginx-deployment #删除deployment任务7 b- x+ I! D! ~ M6 T' M) c
kubectl delete -f nginx.yml #删除deployment任务
" E+ L3 X! R: |1 |. |" E1 X
$ c2 G3 v8 {0 j! C# E' v% X; G* lkubectl delete pods --grace-period=0 --force #删除pod1 Z, h3 u( |: ^7 r) N
" M) n. M9 w) [
kubectl delete pvc mypvc1 #删除pvc中的mypvc1
( K4 s/ a+ y8 Y2 z, t6 r) k! z/ j' S1 K, }, x4 W( S; e& Q% N
用label控制Pod的位置: O l+ ]" \% @# ]
kubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd5 x. |/ F/ m/ J& X2 ~* ~
kubectl get node --show-labels #查看node的label
* t$ s t: N, |kubectl lable node k8s-node1 disktype-
, G& ~3 I4 } d2 x a/ a
% F: L7 W" l' r$ Tedit命令
/ g3 R' |' } Skubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件% Z' s. c, f" y) C ]# q
1 O) `& L6 T! b$ Pkubectl edit secret mysecret #查看value1 C% m7 ^5 N- x
$ r, [- t% Q( N8 Y3 M6 K
update rollout命令
4 X2 J% ^! d5 E6 ^4 G6 C ^0 }kubectl apply -f httpd.v1.yml --record3 k+ o, J) O/ z6 H
#–record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。) n% G5 v6 Y; W2 u. R
#可以通过kubectl rollout history deployment httpd来查看revison历史记录
$ M: Z5 x8 J9 M8 ~; y( J( \1 E1 y2 A, ]: y- k G
kubectl rollout history history deployment #查看revison历史记录
3 k+ a# N$ c9 C2 Y
, m& q; I. P/ o& ^' ]% |+ P6 U2 rkubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚
7 w y( O7 V3 L$ F& V
5 F7 ~6 X) f- ~7 Q1 G其他命令/ T/ V" X, a5 e6 J6 n, o
echo -n root | base64 #base64加密
1 J9 |* i6 I/ _ C2 \echo -n MSDF32D | base64 --decode #反解码6 m6 K* _* r; X( a) b1 R2 X! m$ q
; Y$ [- }9 x; O4 O2 |0 _: K0 B
#自动补全功能( i# n% Y C' y' c# ]3 z3 A
echo “source <(kubectl completion bash)” >> ~/.bashrc
! v- o' l" q) O$ |5 z, Y# a- |# r3 i3 E#helm自动补全功能% o+ W1 U: C; L6 M
helm completion bash > .helmrc echo “source .helmrc” >> .bashrc ^( L1 V; ?# B% k' V
1 C, v/ [+ Q# B0 K) F" Y#查看集群信息
4 g l6 O0 e o$ }# j& z7 Qkubectl cluster-info/ t4 n9 h# }, r# n) S+ b' `$ Y
#查看apiserver的版本,和已经使用的api1 V4 D' F" c, O& N: c' j( v
kubectl api-versions( P8 ~$ S1 m+ C7 i, _
$ M' @/ v1 [, c/ s4 |0 W
#将master当做node使用
4 U) _6 }( M5 y& d; n+ ukubectl taint node master node-role.kubernetes.io/master-
: l7 b' I" F/ ~4 d( b#取消master当做node
' L+ A0 E+ Y% B3 C4 K- Ckubectl taint node master node-role.kubernetes.io/master="":NoSchedule
" T7 n) o4 }; K+ m+ u, V
; y6 N4 q* t6 T* L; |#踢出节点
: c7 i1 w) z' a, akubectl drain nodeName --delete-local-data --force --ignore-daemonsets! M* J2 e. `# {! `' v( y' n
kubectl delete node nodeName
' q& e# i- `1 L! }& m/ K( P3 r3 E& D T' o( {) d1 A' ]9 \( _
#kubectl top查看k8s pod的cpu , memory使用率情况
6 N/ Q4 t" O2 c3 h/ |' gkubectl top pod --all-namespaces- t3 X6 s7 n! V* u
J: `; Q" Q6 n: v% V" |
5 @ u# |+ D' o+ G" R
|
|