1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
spec:
containers:
- image: busybox:latest
name: busy
imagePullPolicy: IfNotPresent
env:
- name: os
value: "ubuntu"
- name: debug
value: "on"
command:
- /bin/echo
args:
- "$(os), $(debug)"

container: 对象的其他字段基本上都可以和“入门篇”学过的 Docker、容器技术对应,理解起来难度不大,我就随便列举几个:

ports:列出容器对外暴露的端口,和 Docker 的 -p 参数有点像。imagePullPolicy:指定镜像的拉取策略,可以是 Always/Never/IfNotPresent,一般默认是 IfNotPresent,也就是说只有本地不存在才会远程拉取镜像,可以减少网络消耗。

xxxxxxxxxx ​apiVersion: batch/v1kind: Jobmetadata:  name: sleep-job​spec:  activeDeadlineSeconds: 15  backoffLimit: 2  completions: 4  parallelism: 2​  template:    spec:      restartPolicy: OnFailure      containers:      - image: busybox        name: echo-job        imagePullPolicy: IfNotPresent        command:          - sh          - -c          - sleep $(($RANDOM % 10 + 1)) && echo donejs

command:定义容器启动时要执行的命令,相当于 Dockerfile 里的 ENTRYPOINT 指令。args:它是 command 运行时的参数,相当于 Dockerfile 里的 CMD 指令,这两个命令和 Docker 的含义不同,要特别注意。

查看日志

1
kubectl logs busy-pod

查看pod

1
kubectl get pod

查看pod详情

1
kubectl describe pod busy-pod

拷贝

1
kubectl cp ssss.txt pod:/tmp

进入容器

1
kubectl exec -it ngx-pod -- sh