大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习 Kubernetes😊
Pod

用 YAML 描述 Pod
- ports:列出容器对外暴露的端口,和 Docker 的 -p 参数有点像。
- imagePullPolicy:指定镜像的拉取策略,可以是 Always/Never/IfNotPresent,一般默认是 IfNotPresent,也就是说只有本地不存在才会远程拉取镜像,可以减少网络消耗。
- env:定义 Pod 的环境变量,和 Dockerfile 里的 ENV 指令有点类似,但它是运行时指定的,更加灵活可配置
- command:定义容器启动时要执行的命令,相当于 Dockerfile 里的 ENTRYPOINT 指令
- args:它是 command 运行时的参数
例如:
apiVersion: v1
kind: Pod
metadata:
name: busy-pod
labels:
owner: chrono
env: demo
region: north
tier: back
spec:
containers:
- image: busybox:latest
name: busy
imagePullPolicy: IfNotPresent
env:
- name: os
value: debug
- name: debug
value: "on"
command:
- /bin/echo
args:
- "$(os), $(debug)"
创建 Pod 或者删除
kubectl apply -f busy-pod.yml
kubectl delete -f busy-pod.yml # 如果在 yaml 里定义了 name 字段,删除的时候可以指定名字删除
展示 Pod 的标准输出流
kubectl logs busy-pod
查看 Pod 列表和运行状态
kubectl get pod
调试排错的时候用,用于检查 Pod 的详细状态
kubectl describe pod busy-pod
拷贝文件进 Pod
kubectl cp a.txt nginx:/tmp
进入 Pod 内部执行命令
kubectl exec -it nginx -- sh
此文章为3月Day10学习笔记,内容来源于极客时间《Kubernetes 入门实战课》 这门课真的非常好,推荐大家看看