-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathK8s Commands
159 lines (114 loc) · 3.9 KB
/
K8s Commands
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
K8s Commands:
==============
kubectl create -f demo.yaml
kubectl get pods <pod-name>
kubectl describe nodes <node-name> - describe detailed info about the resource
kubectl describe pod <pod-name>
kubectl delete -f pod.yaml - Delete Resource
kubectl delete pods --all
kubectl exec <pod-name> date
kubectl exec <pod-name> -c <container-name> date
kubectl exec -it <pod-name> /bin/bash
kubectl logs <pod-name>
Kubeadm commands:
==================
kubeadm init - kubeadm init [flags] * Initialize Master Node (On Master)
kubeadm join - kubeadm join --token [] * Initialize Worker Node (On Worker)
kubeadm token - kubeadm token [create|delete|list|generate]
kubeadm version - kubeadm version [flags]
kubeadm upgrade - kubeadm upgrade plan [version] [flags]
Pod Manifest file
==================
kubectl create -f pod.yml
kubectl get pods
kubectl get pod -o wide
kubectl describe pod nginx-pod
kubectl exec -it nginx-pod /bin/sh
kubectl delete pod nginx-pod
ReplicaSets and Deployments:
----------------------------
kubectl create -f deploy-def.yml
kubectl get pods
kubectl get pod -o wide
kubectl describe pods
kubectl get rs
kubectl get deployments
kubectl replace -f rs-def.yml
kubectl scale --replicas=6 -f rs-def.yml
kubectl rollout status deployment/myapp-deployment
kubectl rollout history deployment/myapp-deployment
kubectl rollout undo deployment/myapp-deployment
kubectl apply -f deploy-def.yml
kubectl run nginx --image=nginx
kubectl delete rs <rs-name>
Updates and Rollback:
=====================
create - kubectl create -f deploy-def.yml
get - kubectl get deployments
update - kubectl apply -f deploy-def.yml
status - kubectl set image deployment/myapp-deployment nginx=nginx:1.9.1
Rollout- kubectl rollout status deployment/myapp-deployment
kubectl rollout history deployment/myapp-deployment
kubectl rollout undo deployment/myapp-deployment
delete - kubectl delete deployment myapp-deployment
Services:
=========
kubectl create -f service-def.yml
kubectl get services
Namespaces:
===========
kubectl create -f pod.yml --namespace=dev => Dev namespace
kubectl create namespace dev
kubectl get pods --all-namespaces
Labels & Selectors:
===================
- kubectl label node node1 size=Large
DaemonSets:
===========
kubectl get ds
kubectl describe ds monitoring-daemon
Resource Consumption:
=====================
- kubectl top node
Logs:
======
kubectl logs -f <pod-name>
ConfigMaps:
===========
kubectl create configmap <config-name> --from-literal= K:V
kubectl get configmaps
kubectl describe configmaps
Secrets:
========
kubectl create secret generic <secret-name> --from-literal=<key>=<value>
kubectl create secret generic <secret-name> --from-file=<key>=<value>
kubectl create secret generic app-secret --from-literal=DB_HOST=mysql
Cluster Maintenance:
====================
kubectl drain node-1
kubectl uncordon node-1
kubeadm upgrade plan
Signing Certificates:
=====================
kubectl get csr
kubectl approve certificate jane
kubectl get csr jane -o yml
Persistent Volumes and Claims:
==============================
kubectl create -f pvc-claim.yml
kubectl get pvc
kubectl delete pvc <pvc-name>
Networking Commands:
====================
ip route add 192.168.1.0/24 via 192.168.2.1
ip route add 172.217.194.0/24 via 192.168.2.1
ip route add default via 192.168.2.1
ip link
ip addr
ip addr add
ip route - route
ip route add
DNS Basics:
===========
- nslookup www.google.com
dig www.google.com