k8s-02

124 阅读1分钟
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,也就是说只有本地不存在才会远程拉取镜像,可以减少网络消耗。

env:定义 Pod 的环境变量,和 Dockerfile 里的 ENV 指令有点类似,但它是运行时指定的,更加灵活可配置。

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

查看日志

kubectl logs busy-pod

查看pod

kubectl get pod

查看pod详情

kubectl describe pod busy-pod

拷贝

kubectl cp ssss.txt pod:/tmp

进入容器

kubectl exec -it ngx-pod -- sh