Kubectl 操作示例说明
创建资源对象
#根据 yaml 配置文件一次性创建 service 和 rc:
[root@Docker /] kubectl create -f my-service.yaml -f my-rc.yaml
#根据 <directory> 目录下所有 .yaml、.yal、.json 文件的定义进行创建操作。
[root@Docker /] kubectl create -f <directory>
#也可以是当前所有:
[root@Docker /] kubectl create -f .
#还有一种跟高级的使用方法 apply:
[root@Docker /] kubectl apply -f .
它的使用方法与 create 类似,但是这属于更高级的一种方式,在官方说明中它是一种声明式方法。
查看资源对象
#查看索引 Pod 列表:
[root@Docker /] kubectl get pods
#查看 rc 和 service 列表:
[root@Docker /] kubectl get rc,service
描述资源对象
#显示 Node 的详细信息:
[root@Docker /] kubectl describe nodes <node-name>
#显示 Pod 的详细信息:
[root@Docker /] kubectl describe pods/<pod-name>
#显示由 RC 管理的 Pod 的信息:
[root@Docker /] kubectl describe pods <rc-name>
删除资源对象
#基于 pod.yaml 定义的名称删除 Pod:
[root@Docker /] kubectl delete -f pod.yaml
#删除包含某个 label 的 Pod 和 service:
[root@Docker /] kubect; delete pods,service -l name=<label-name>
#删除所有 Pod:
[root@Docker /] kubectl delete pods --all
执行容器的命令
#执行 Pod 的 date 命令,默认使用 Pod 中的第一个容器执行:
[root@Docker /] kubectl exec <pod-name> date
#指定 Pod 中某个容器执行 date 命令:
[root@Docker /] kubectl exec <pod-name> -c <container-name> date
#通过 bash 获得 Pod 中某个容器的 TTY,相当于登入容器
[root@Docker /] kubectl exec -it <pod-name> -c <container-name> /bin/bash
查看容器的日志
#查看容器输出到 stdout 的日志:
[root@Docker /] kubectl logs <pod-name>
#跟踪查看容器的日志,相当于 tail -f 命令的结果:
[root@Docker /] kubectl logs -f <pod-name> -c <container-name>
Proxy 功能
#开启转发,默认情况下 Kubernetes 不会再开启转发规则
[root@Docker /] kubectl proxy --address='192.168.11.58' --port=8086 --accept-hosts='^*#'
#查看集群信息,通常是为了查看集群中的 API
[root@Docker /] kubectl cluster-info
启动服务
#使用 kubectl 启动服务,启动后为 Deployment 形式存在:
[root@Docker /] kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
#启动 Service :
[root@Docker /] kubectl expose deployment hello-minikube --type=NodePort