写在前面的话
学到这里,遇到了和学习 docker 时候一样的问题,如果让人手动敲命令,简单的环境还好,但是如果遇到复杂的依赖部署,那么我们怎么去管理?
在 docker 中,我们通过 yml 文件定义程序运行的关系,在 K8S 中也一样,也有自己的 yml。
在 K8S 中,我们几乎能用到的东西,都可以把它称作资源,而这个定义了规则的 yml 文件就是资源清单。
资源清单
资源清单格式:
apiVersion: group/apiversion # 如果没给定 group 名称,默认 core,可使用 kubectl api-versions 查看当前 K8S 的所有 apiVersion 信息 kind: # 资源类别 metadata: # 资源元素据 name namespace # K8S 自身的 namespace labels annotations spec: # 期望的状态 status: # 当前状态,用户不用定义
查看支持的 apiVersion:
获取资源清单一级字段:
kubectl explain po
结果如图:
获取资源清单二级字段:
kubectl explain pod.metadata
结果如图:
同理,查看三级字段继续使用 . 加关键字就行了。
创建一个简单的 Pod 资源清单:
mkdir pod-test cd pod-test/ vim pod-test.yml
内容如下:
apiVersion: v1 kind: Pod metadata: name: pod-test labels: # 打标签 app: my-app tier: frontend spec: # 创建两个容器 containers: - name: nginx image: ikubernetes/myapp:v1 - name: tomcat image: tomcat:7-alpine
创建 Pod:
kubectl create -f pod-test.yml
结果如图:
查看创建结果:
kubectl get pods
结果如图:
查看 Pod 详细信息:
kubectl describe pod pod-test
结果如图:
为了能够访问,可以再度创建一个 Service 清单:
原文:https://www.cnblogs.com/Dy1an/p/10823724.html