美文网首页
备战CKA每日一题——第2天

备战CKA每日一题——第2天

作者: 小E的私房菜 | 来源:发表于2020-03-09 16:52 被阅读0次

    第2题:Daemonset:


    题目:
    • 确保在kubernetes集群的每个节点上运行一个Pod nginx实例,其中nginx还表示必须使用的镜像名称。
    • 不要覆盖任何当前存在的污点( 不要有tolerations)
    • 使用Daemonset 完成此任务,并使用ds.kusc00201作为Daemonset名称
    解题思路:

    本题考的是kubectl Deamon操作指令,DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。当有节点加入集群时, 也会为他们新增一个 Pod 。当有节点从集群移除时,这些 Pod 也会被回收。

    具体可参考:https://kubernetes.io/zh/docs/concepts/workloads/controllers/daemonset/

    解题步骤:
    • 可以先使用kubectl run 生成一个 YAML 文件中描述 DaemonSet
    sudo kubectl run ds.kusc00201 --generator=run-pod/v1 --image=nginx -n ns-ehj --dry-run -o yaml > daeminset.yaml
    

    生成的yaml如下:

    apiVersion: v1
    kind: Pod
    metadata:
      creationTimestamp: null
      labels:
        run: ds.kusc00201
      name: ds.kusc00201
    spec:
      containers:
      - image: nginx
        name: ds.kusc00201
        resources: {}
      dnsPolicy: ClusterFirst
      restartPolicy: Always
    status: {}
    

    显然,需要修改后才能apply:

    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      creationTimestamp: null
      labels:
        run: nginx
      name: ds.kusc00201
      namespace: ns-ehj
    spec:
      selector:
        matchLabels:
          run: nginx
      template:
        metadata:
          labels:
            run: nginx
        spec:
          containers:
          - image: nginx
            name: nginx
            resources: {}
    

    运行结果:


    image.png

    注意:

    必需字段
    • 和其它所有 Kubernetes 配置一样,DaemonSet 需要 apiVersion、kind 和 metadata 字段。
    Pod 模板
    • .spec 中唯一必需的字段是 .spec.template
    • 如果指定了 .spec.template.spec.nodeSelector,DaemonSet Controller 将在能够与 Node Selector 匹配的节点上创建 Pod。类似这种情况,可以指定 .spec.template.spec.affinity,然后 DaemonSet Controller 将在能够与 node Affinity 匹配的节点上创建 Pod。 如果根本就没有指定,则 DaemonSet Controller 将在所有节点上创建 Pod。
    • .spec.template是一个 [Pod 模板](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates)。除了它是嵌套的,而且不具有apiVersionkind` 字段,它与 Pod 具有相同的 schema。
      除了 Pod 必需字段外,在 DaemonSet 中的 Pod 模板必须指定合理的标签(查看 Pod Selector)。

    相关文章

      网友评论

          本文标题:备战CKA每日一题——第2天

          本文链接:https://www.haomeiwen.com/subject/wrrpdhtx.html