3.1 以YAML或JSON描述文件创建pod
前提条件0.0 环境准备0.1 安装docker0.2 安装k8skubectl run kubia --image=nuptaxin/kubia --port=8080检查现有pod的YAML描述文件apiVersion:YAML描述文件所使用的k8s API版本(1.x展示的v1)kind:k8s对象/资源类型metadata:pod元数据(名称、标签和注解等)spec:pod规格/内容(po
·
- 前提条件
0.0 环境准备
0.1 安装docker
0.2 安装k8s
kubectl run kubia --image=nuptaxin/kubia --port=8080
- 检查现有pod的YAML描述文件
- apiVersion:YAML描述文件所使用的k8s API版本(1.x展示的v1)
- kind:k8s对象/资源类型
- metadata:pod元数据(名称、标签和注解等)
- spec:pod规格/内容(pod的容器列表、volume等)
- status:pod及其内部容器的详细状态【此部分包含只读的运行时数据,创建新的pod时,永远不需要提供status部分】
kubectl get po kubia -o yaml
- 为pod创建一个简单的YAML描述文件:kubia-manual.yaml(注意冒号后面一定要跟着空格,不能使用制表符!否则语法无法识别)
- 指定容器端口(在pod定义中指定端口纯粹是展示性的!!!)
- po.spec.containers.name 是容器的名称,唯一的,主要用于网络DNS LABAL
- po.metadata.name是pod的名称,唯一的
apiVersion: v1
kind: Pod
metadata:
name: kubia-manual
spec:
containers:
- image: nuptaxin/kubia
name: kubia-yaml
ports:
- containerPort: 8080
protocol: TCP
- 使用kubectl explain在发现可能的API对象字段(当从头创建一个pod mainfest时,可以从请求kubectl来解释pod开始)
kubectl explain pods
kubectl explain pod.spec
- 使用kubectl create来创建pod
- 使用kubectl create来创建pod(-f用于从YAML或JSON文件创建任何资源)
kubectl create -f kubia-manual.yaml
- 得到运行中pod的完整定义
- YAML
kubectl get po kubia-manual -o yaml
- JSON
kubectl get po kubia-manual -o json
- YAML
- 在pod列表中查看新创建的pod
kubectl get po
- 使用kubectl create来创建pod(-f用于从YAML或JSON文件创建任何资源)
- 查看应用程序日志(只能获取仍然存在的pod的日志,pod删除时日志也会被删除)
- 使用docker命令获取容器日志(docker ps 获取容器Id)
docker logs <container id>
- 使用kubectl logs命令获取pod日志(pod中单容器时)
kubectl logs kubia-manual
- 获取多容器pod的日志时指定容器名称
kubectl logs kubia-manual -c kubia-yaml
- 使用docker命令获取容器日志(docker ps 获取容器Id)
- 向pod发送请求
- 将本地网络端口转发到pod中的端口(不用service,用于连接pod测试或调试)
kubectl port-forward kubia-manual 8080:8080 --address 0.0.0.0
- 通过端口转发连接到pod
http://8.130.177.188:8080
- 将本地网络端口转发到pod中的端口(不用service,用于连接pod测试或调试)
- 资源清理
kubectl delete pod kubia
kubectl delete pod kubia-manual
更多推荐
已为社区贡献9条内容
所有评论(0)