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