|
|
查看相关命令
& 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 |
|