具体命令详解:
1.基础命令:
https://www.jianshu.com/p/d2fe32fd4675
2.设置命令:
https://www.jianshu.com/p/97f71c8ec720
3.部署命令:
https://www.jianshu.com/p/43a5d6bd1b67
4.集群管理命令:
https://www.jianshu.com/p/f7a0b418eeac
5.集群故障排查和调试命令:
https://www.jianshu.com/p/c03f3799e3ab
6.其他命令:
https://www.jianshu.com/p/c069c799a6c1
基础命令
1.create命令:根据文件或者输入来创建资源
# 创建Deployment和Service资源
kubectl create -f javak8s-deployment.yaml
kubectl create -f javak8s-service.yaml
2.delete命令:删除资源
# 根据yaml文件删除对应的资源,但是yaml文件并不会被删除,这样更加高效
kubectl delete -f javak8s-deployment.yaml
kubectl delete -f javak8s-service.yaml
# 也可以通过具体的资源名称来进行删除,使用这个删除资源,需要同时删除pod和service资源才行
kubectl delete 具体的资源名称
3.get命令:获得资源信息
# 查看所有的资源信息
kubectl get all
# 查看pod列表
kubectl get pod
# 显示pod节点的标签信息
kubectl get pod --show-labels
# 根据指定标签匹配到具体的pod
kubectl get pods -l app=example
# 查看node节点列表
kubectl get node
# 显示node节点的标签信息
kubectl get node --show-labels
# 查看pod详细信息,也就是可以查看pod具体运行在哪个节点上(ip地址信息)
kubectl get pod -o wide
# 查看服务的详细信息,显示了服务名称,类型,集群ip,端口,时间等信息
kubectl get svc
[root@master ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
go-service NodePort 10.10.10.247 <none> 8089:33702/TCP 29m
java-service NodePort 10.10.10.248 <none> 8082:32823/TCP 5h17m
kubernetes ClusterIP 10.10.10.1 <none> 443/TCP 5d16h
nginx-service NodePort 10.10.10.146 <none> 88:34823/TCP 2d19h
# 查看命名空间
kubectl get ns
# 查看所有pod所属的命名空间
kubectl get pod --all-namespaces
# 查看所有pod所属的命名空间并且查看都在哪些节点上运行
kubectl get pod --all-namespaces -o wide
# 查看目前所有的replica set,显示了所有的pod的副本数,以及他们的可用数量以及状态等信息
kubectl get rs
[root@master ~]# kubectl get rs
NAME DESIRED CURRENT READY AGE
go-deployment-58c76f7d5c 1 1 1 32m
java-deployment-76889f56c5 1 1 1 5h21m
nginx-deployment-58d6d6ccb8 3 3 3 2d19h
# 查看目前所有的deployment
kubectl get deployment
[root@master ~]# kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
go-deployment 1/1 1 1 34m
java-deployment 1/1 1 1 5h23m
nginx-deployment 3/3 3 3 2d19h
# 查看已经部署了的所有应用,可以看到容器,以及容器所用的镜像,标签等信息
kubectl get deploy -o wide
[root@master bin]# kubectl get deploy -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
nginx 3/3 3 3 16m nginx nginx:1.10 app=example
4.run命令:在集群中创建并运行一个或多个容器镜像。
# 基本语法
run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]
# 示例,运行一个名称为nginx,副本数为3,标签为app=example,镜像为nginx:1.10,端口为80的容器实例
kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80
其他用法参见:http://docs.kubernetes.org.cn/468.html
5.expose命令:创建一个service服务,并且暴露端口让外部可以访问
# 创建一个nginx服务并且暴露端口让外界可以访问
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
关于expose的详细用法参见:http://docs.kubernetes.org.cn/475.html
6.set命令: 配置应用的一些特定资源,也可以修改应用已有的资源
# 使用kubectl set --help查看,它的子命令,env,image,resources,selector,serviceaccount,subject。
set命令详情参见:http://docs.kubernetes.org.cn/669.html
语法:
resources (-f FILENAME | TYPE NAME) ([--limits=LIMITS & --requests=REQUESTS]
7.kubectl set resources 命令:用于设置资源的一些范围限制。
# 将deployment的nginx容器cpu限制为“200m”,将内存设置为“512Mi”
kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi
# 为nginx中的所有容器设置 Requests和Limits
kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi
# 删除nginx中容器的计算资源值
kubectl set resources deployment nginx --limits=cpu=0,memory=0 --requests=cpu=0,memory=0
8.kubectl set selector命令:设置资源的selector(选择器)
如果在调用"set selector"命令之前已经存在选择器,则新创建的选择器将覆盖原来的选择器。
selector必须以字母或数字开头,最多包含63个字符,可使用:字母、数字、连字符" - " 、点"."和下划线" _ "。如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。
注意:目前selector命令只能用于Service对象。
# 语法
selector (-f FILENAME | TYPE NAME) EXPRESSIONS [--resource-version=version]
9.kubectl set image命令:用于更新现有资源的容器镜像。可用资源对象包括:pod (po)、replicationcontroller (rc)、deployment (deploy)、daemonset (ds)、job、replicaset (rs)。
# 将deployment中的nginx容器镜像设置为“nginx:1.9.1”。
kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1
# 所有deployment和rc的nginx容器镜像更新为“nginx:1.9.1”
kubectl set image deployments,rc nginx=nginx:1.9.1 --all
# 将daemonset abc的所有容器镜像更新为“nginx:1.9.1”
kubectl set image daemonset abc *=nginx:1.9.1
# 从本地文件中更新nginx容器镜像
kubectl set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
10.explain命令:用于显示资源文档信息
kubectl explain rs
11.edit命令:用于编辑资源信息
# 编辑Deployment nginx的一些信息
kubectl edit deployment nginx
# 编辑service类型的nginx的一些信息
kubectl edit service/nginx
网友评论