KUBERNETES之Kubernetes Workloads(Kubernetes 作业管理)二

六、Kubernetes Workloads(Kubernetes 作业管理)

1.5 Pod模板

Pod 模板是包含在其他对象中的 Pod 规范,例如 ReplicaSet、 Jobs 和 DaemonSets。 控制器使用 Pod 模板来制作实际使用的 Pod。

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
  • apiVersion 当前配置格式版本

  • kind 创建的资源类型,这里是Pod

  • metadata 是该资源的元数据,name是必须的数据项

  • spec 该Pod的规格说明

 
 
其他重要字段

1.5.1 NodeSeletor 是一个供用户将 Pod 与 Node 进行绑定的字段

例子

apiVersion: v1
kind: Pod
...
spec:
 nodeSelector:
   disktype: ssd

意味着这个 Pod 永远只能运行在携带了“disktype: ssd”标签(Label)的节点上;否则,它将调度失败。

kubectl label nodes <node-name> <label-key>=<label-value>
kubectl get nodes --show-labels 
  • NodeName 一旦 Pod 的这个字段被赋值,Kubernetes 项目就会被认为这个 Pod 已经经过了调度,调度的结果就是赋值的节点名字。

 
 

1.5.2 HostAliases 定义了 Pod 的 hosts 文件(比如 /etc/hosts)里的内容

例子

apiVersion: v1
kind: Pod
...
spec:
  hostAliases:
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
...

pod启动后hosts文件

cat /etc/hosts
# Kubernetes-managed hosts file.
127.0.0.1 localhost
...
10.244.135.10 hostaliases-pod
10.1.2.3 foo.remote
10.1.2.3 bar.remote

 
 

1.5.3 shareProcessNamespace Pod 里的容器要共享 PID Namespace

例子

apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  shareProcessNamespace: true
  containers:
  - name: nginx
    image: nginx
  - name: shell
    image: busybox
    stdin: true
    tty: true

kubectl attach -it nginx -c shell

ps ax

  • hostNetwork: true 共享宿主机网络 namespace

  • hostIPC: true 共享宿主机IPC namespace

  • hostPID: true 共享宿主机PID namespace

 
 

1.5.4 Containers(重要) 对容器进行定义,与initContainer基本类似,只不过后者是在所有容器前启动
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值