1 命令
#docker search flink【搜索各个版本的镜像】
#docker pull flink【下载最新镜像,标签latest】
#docker save -o flink.tar flink:latest【保存镜像】
#scp flink.tar root@IP:/root【传输镜像】
#docker load -i flink.tar【加载镜像】
#kubectl get namespace【查看命名空间】
#kubectl create namespace test【创建命名空间】
#kubectl get pod【查询pod】
#kubectl get pod --output=wide【查询pod详细信息PodIP】
#kubectl get pod -o wide【查询pod详细信息PodIP】
#kubectl get deployment【查询控制器】
#kubectl get replicaset【查询控制器】
#kubectl get rs【查询控制器】
#kubectl get service【查询服务clusterIP,NodePort】
#kubectl get svc【查询服务clusterIP,NodePort】
#kubectl logs -f <pod_name>【查询日志】
Pod处于apiVersion的v1中【yaml文件】
Controller处于apiVersion的apps/v1中【yaml文件】
Service处于apiVersion的v1中【yaml文件】
2 kubectl介绍
kubectl子命令主要包括对资源的创建、删除、查看、修改、配置、运行等。
#kubectl --help 可以查看所有子命令。
#kubectl options 可以查看支持的参数,例如 --namespace 指定namespace。
2.1 语法
语法:kubectl [command] [TYPE] [NAME] [flags]
(1)command 子命令,用于操作kubernetes集群资源对象的命令,如create、delete、describe、get、apply等。
(2)TYPE 资源对象的类型,如pod、service、rc、deployment、node等,可以单数、复数以及简写(pod/pods/po、service/services/svc)。
(3)NAME 资源对象的名称,不指定则返回所有,如 get pod 会返回所有pod,get pod nginx 则只返回nginx这个pod。
(4)flags kubectl子命令的可选参数,例如 -n 指定namespace,-s 指定apiserver的URL。
例如
(1)#kubectl get pod
(2)#kubectl get pod mysql-f16r2
(3)#kubectl get pod/myweb-f8xw9 rc/myweb
(4)#kubectl create -f pod1.yaml -f rc1.yaml -f svc1.yaml #可同时创建多个资源对象。
2.2 命令输出格式
kubectl命令可以用多种格式对结果进行显示,输出格式通过-o参数指定。
-o支持的格式有:
输出格式 说明
custom-columns= 根据自定义列名进行输出,逗号分隔
custom-columns-file= 从文件中获取自定义列名进行输出
json 以JSON格式显示结果
jsonpath= 输出jsonpath表达式定义的字段信息
jsonpath-file= 输出jsonpath表达式定义的字段信息,来源于文件
name 仅输出资源对象的名称
wide 输出更多信息,比如会输出node名
yaml 以yaml格式输出
举例:
# kubectl get pod -o wide
# kubectl get pod -o yaml
# kubectl get pod --sort-by=.metadata.name #按name排序输出
# kubectl get pod -o custom-columns=NAME:.metadata.name,RESC:.metadata.resourceVersion
2.3 kubectl命令示例
(1)创建资源对象
(1)根据yaml文件创建service和deployment。
kubectl create -f my-service.yaml -f my-deploy.yaml
(2)也可以指定一个目录,
这样可以根据该目录下所有yaml或json文件一次性定义资源。
kubectl create -f <directory>
(2)查看资源对象
(1)# kubectl get pod查看所有pod
(2)# kubectl get deploy,svc查看deployment和service
(3)描述资源对象
(1)显示pod的详细信息
#kubectl describe pod <pod-name>
(2)显示node的详细信息
#kubectl describe node <node-name>
(3)显示deployment管理的pod信息
#kubectl describe pod <deployment-name>
(4)删除资源对象
(1)基于yaml文件删除
kubectl delete -f pod.yaml
(2)删除所有包含某个label的pod和service
#kubectl delete po,svc -l name=<label-name>
(3)删除所有pod
#kubectl delete po --all
(5)执行容器的命令
(1)在pod中执行某个命令,如date
#kubectl exec <pod-name> date
(2)进入到pod的容器里
#kubectl exec -it <pod-name> bash
(6)查看容器日志
(1)# kubectl logs <pod-name>
(2)# kubectl logs -f <pod-name>动态查看