常用命令

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
# install tool
brew install kubectx
brew install kubectl

# alais
alais k="kubectl"
alais kx="kubectx"
alais kn="kubens"

k get pods
k get ns |grep ns-name
k get service
k port-forward --address 10.0.0.1 service/name -n namespace/name 80:80 8080:8080

# merge multi config
export KUBECONFIG=~/.kube/config:./kube-config-1.yaml kubectx config view --flatten > ~/.kube/config

# list pods
k get pods --all-namespaces |pod-name

# log pod
k logs -f pod-name -n namespace-name

# scale
k scale --replicas=3 pod-name

# context & namespace
kx context-name
kn namespace-name

cloud port forward with supervisor

1
2
3
4
5
6
brew install supervisor
alais sctrl="supervisorctl"

sctl reload
sctl [start, stop, restart] group-name:\*
sctl status
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[program:service-1]
command=/usr/local/bin/kubectl port-forward --address 10.0.0.1 pod-name -n ns-name 80:80
redirect_stderr=true
stdout_logfile=/usr/local/var/log/%(program_name)s.log
stdout_logfile_maxbytes=1MB
autostart=false

[program:service-2]
command=/usr/local/bin/kubectl port-forward --address 10.0.0.2 pod-name -n ns-name 80:80
redirect_stderr=true
stdout_logfile=/usr/local/var/log/%(program_name)s.log
stdout_logfile_maxbytes=1MB
autostart=false

[group:group-name]
programs=service-1,service-2

Ref

kubectl 备忘单 https://kubernetes.io/zh/docs/reference/kubectl/cheatsheet/