k8s常用指令


k8s操作

k8s指令

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
# 创建RC
kubectl create -f <xxx-rc.yaml>

# 获取RC
kubectl get rc

# 删除rc
kubectl delete rc <rc_name>

# 获取pod
kubectl get pods

# 获取某个命名空间的pod
kubectl get pods --namespace=default # 默认的命名空间为 default

# 获取nodes
kubectl get nodes

# 获取node的详细信息
kubectl describe node <node_name>

# 获取pod的详细信息
kubectl describe pod <pod_name>

# 创建副本数量,如3
kubectl scale rc <pod_name> --replicas=3

# 创建deployment
kubectl create -f <deployment.yaml>

# 查看deployment
kubectl get deploymnets

# 查看Replicas Set
kubectl get rs

# 查看endpoint
kubectl get endpoints

# 查看service的详细信息
kubectl get svc <xxx-service> -o yaml

# 查看namspaces
kubectl get namespaces


1. 操作命令

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
# 查看指令用API
kubectl explain <source>

# 查看api-version
kubectl api-versions

# 查看到所有nodes节点的IP和状态(一般该命令在master执行)。
kubectl get nodes

# 查看已经创建的pods
kubectl get pods

# 查看某个pod内部详情
kubectl get pods <pod_name> -o yaml
kubectl describe pods <pod_name>

# 查看某个pod的日志
kubectl logs <pod_name>

# 查看系统中的services
kubectl get services
kubectl get svc

# 查看集群中的所有deployment(官方推荐使用deployment来替代rc)
kubectl get deployments

# 查看Replication Controller
kubectl get rc

# 查看ReplicaSet
kubectl get rs

# 查看集群情况(一般该命令在master执行)
kubectl cluster-info

# 查看事件
kubectl get events

# 查看系统中的secret
kubectl get secret

#查看集群中的所有namespace
kubectl get namespace

# 使用yaml创建pod, 不仅可以创建pod,还可以创建rc,deployment,service等。
kubectl create -f <xxx.yaml>
kubectl apply -f <xxx.yaml>

# 根据label筛选查看pods (label一般都是写在yaml文件中)
kubectl get pods -l app=nginx

# 删除pods,如果还pod有类似deployment,rc保护,那么会删除失败。
kubectl delete pods <pod_name>

# 在集群运行应用程序(nginx)
kubectl run nginxdemo --image=nginx --replicas=3 --labels='app=nginx' --port=80

# 创建服务service,对外暴露端口88
kubectl expose deployment nginx --port=88 --target-port=80 --type=NodePort --name=nginx-svc

# pod副本的扩容与缩容
kubectl scale deployment nginxdemo --replicas=10

# 查看扩容进度
kubectl rollout status deployment nginxdemo

# 删除资源
# pod与rs不能直接删除,因为他们被deployment控制,即使删除某一个pod或rs,deployment会立刻创建新的pod,来与配置中副本对应。
# 要删除pod和rs,只能删除对用的deployment,使用kubectl delete 可以删除deployment 和 svc。
kubectl delete deployment nginxdemo
kubectl delete svc nginxdemo

# 执行容器的命令
kubectl exec <pod-name> date #执行Pod的date命令,默认使用第一个容器
kubectl exec <pod-name> -c <container-name> date # 执行Pod中某个容器的date命令
kubectl exec -ti <pod-name> -c <container-name> /bin/bash # 通过bash获取Pod中某个容器的TTY

# 查看容器的日志
kubectl logs <pod-name> # 查看容器输出到stdout的日志
kubectl logs -f <pod-name> -c <container-name> # 跟踪查看容器日志


文章作者: Murray
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Murray !
  目录