详情页标题前

腾讯云容器服务DaemonSet 管理同尘科技

详情页1

简介

DaemonSet 主要用于部署常驻集群内的后台程序,例如节点的日志采集。DaemonSet 保证在所有或部分节点上均运行指定的 Pod。 新节点添加到集群内时,也会有自动部署 Pod;节点被移除集群后,Pod 将自动回收。

调度说明

若配置了 Pod 的 nodeSelector 或 affinity 参数,DaemonSet 管理的 Pod 将按照指定的调度规则调度。若未配置 Pod 的 nodeSelector 或 affinity 参数,则将在所有的节点上部署 Pod。

DaemonSet 控制台操作指引

创建 DaemonSet

1. 登录容器服务控制台,选择左侧导航栏中的 集群。2.集群管理页面,选择集群 ID,进入集群的基本信息页面。3.工作负载 > DaemonSet 页面,单击新建。如下图所示:

腾讯云容器服务DaemonSet 管理同尘科技


4.新建 DaemonSet 页面,根据实际需求,设置 DaemonSet 参数。关键参数信息如下:名称:输入自定义名称。命名空间:根据实际需求进行选择。Labels:一个键 – 值对(Key-Value),用于对资源进行分类管理。数据卷(选填):为容器提供存储,目前支持临时路径、主机路径、云硬盘数据卷、文件存储 NFS、配置文件、PVC,还需挂载到容器的指定路径中。实例内容器:根据实际需求,为 DaemonSet 的一个 Pod 设置一个或多个不同的容器。名称:自定义。镜像:根据实际需求进行选择。镜像版本(Tag):根据实际需求进行填写。镜像拉取策略:提供以下3种策略,请按需选择。
若不设置镜像拉取策略,当镜像版本为空或 latest 时,使用 Always 策略,否则使用 IfNotPresent 策略。Always:总是从远程拉取该镜像。IfNotPresent:默认使用本地镜像,若本地无该镜像则远程拉取该镜像。Never:只使用本地镜像,若本地没有该镜像将报异常。CPU/内存限制:可根据 Kubernetes 资源限制 进行设置 CPU 和内存的限制范围,提高业务的健壮性。GPU 资源:配置该工作负载使用的最少 GPU 资源。高级设置:可设置 “工作目录”,“运行命令”,“运行参数”,“容器健康检查”,“特权级”等参数。镜像访问凭证:容器镜像默认私有,在创建工作负载时,需选择实例对应的镜像访问凭证。节点调度策略:可根据调度规则,将 Pod 调度到符合预期的 Label 的节点中。5. 单击创建 DaemonSet,完成创建。

更新 DaemonSet

更新 YAML

1. 登录容器服务控制台,选择左侧导航栏中的 集群。2.集群管理页面,选择集群 ID,进入集群的基本信息页面。3.工作负载 > DaemonSet 页面,选择实例右侧的更多 > 编辑 yaml。4. 在编辑 Yaml 页面,更新 yaml 后单击完成

更新 Pod 配置

说明仅在 Kubernetes 1.6或更高版本中支持 DaemonSet 滚动更新功能。1. 登录容器服务控制台,选择左侧导航栏中的 集群。2.集群管理页面,选择集群 ID,进入集群的基本信息页面。3.工作负载 > DaemonSet 页面,选择实例右侧的更新 Pod 配置。如下图所示:

腾讯云容器服务DaemonSet 管理同尘科技

4.更新 Pod 配置页面,根据实际需求修改更新方式,设置参数。5. 单击完成,即可更新 Pod 配置。

Kubectl 操作 DaemonSet 指引

YAML 示例

apiVersion: apps/v1kind: DaemonSetmetadata:  name: fluentd-elasticsearch  namespace: kube-system  labels:    k8s-app: fluentd-loggingspec:  selector:    matchLabels:      name: fluentd-elasticsearch  template:    metadata:      labels:        name: fluentd-elasticsearch    spec:      tolerations:      - key: node-role.kubernetes.io/master        effect: NoSchedule      containers:      - name: fluentd-elasticsearch        image: k8s.gcr.io/fluentd-elasticsearch:1.20        resources:          limits:            memory: 200Mi          requests:            cpu: 100m            memory: 200Mi        volumeMounts:        - name: varlog          mountPath: /var/log        - name: varlibdockercontainers          mountPath: /var/lib/docker/containers          readOnly: true      terminationGracePeriodSeconds: 30      volumes:      - name: varlog        hostPath:          path: /var/log      - name: varlibdockercontainers        hostPath:          path: /var/lib/docker/containers

注意以上 YAML 示例引用于 Kubernetes Documentation DaemonSet,创建时可能存在容器镜像拉取失败的情况,仅用于本文介绍 DaemonSet 的组成。kind:标识 DaemonSet 资源类型。metadata:DaemonSet 的名称、Label 等基本信息。metadata.annotations:DaemonSet 的额外说明,可通过该参数设置腾讯云 TKE 的额外增强能力。spec.template:DaemonSet 管理的 Pod 的详细模板配置。更多可查看 Kubernetes DaemonSet 官方文档

Kubectl 创建 DaemonSet

1. 参考 YAML 示例,准备 DaemonSet YAML 文件。2. 安装 Kubectl,并连接集群。操作详情请参考 通过 Kubectl 连接集群。3. 执行以下命令,创建 DaemonSet YAML 文件。

kubectl create -f [DaemonSet YAML 文件名称]

例如,创建一个文件名为 fluentd-elasticsearch.yaml 的 DaemonSet YAML 文件,则执行以下命令:

kubectl create -f fluentd-elasticsearch.yaml

4. 执行以下命令,验证创建是否成功。

kubectl get DaemonSet

返回类似以下信息,即表示创建成功。

NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR       AGEfrontend   0         0         0         0            0           app=frontend-node   16d

Kubectl 更新 DaemonSet

执行以下命令,查看 DaemonSet 的更新策略类型。

kubectl get ds/ -o go-template='{{.spec.updateStrategy.type}}{{"\n"}}'

DaemonSet 有以下两种更新策略类型:OnDelete:默认更新策略。该更新策略在更新 DaemonSet 后,需手动删除旧的 DaemonSet Pod 才会创建新的 DaemonSet Pod。RollingUpdate:支持 Kubernetes 1.6或更高版本。该更新策略在更新 DaemonSet 模板后,旧的 DaemonSet Pod 将被终止,并且以滚动更新方式创建新的 DaemonSet Pod。

方法一

执行以下命令,更新 DaemonSet。

kubectl edit DaemonSet/[name]

此方法适用于简单的调试验证,不建议在生产环境中直接使用。您可以通过此方法更新任意的 DaemonSet 参数。

方法二

执行以下命令,更新指定容器的镜像。

kubectl set image ds/[daemonset-name] [container-name]=[container-new-image]

建议保持 DaemonSet 的其他参数不变,业务更新时,仅更新容器镜像。

Kubectl 回滚 DaemonSet

1. 执行以下命令,查看 DaemonSet 的更新历史。

kubectl rollout history daemonset/[name]

2. 执行以下命令,查看指定版本详情。

kubectl rollout history daemonset/[name] --revision=[REVISION]

3. 执行以下命令,回滚到前一个版本。

kubectl rollout undo daemonset/[name]

如需指定回滚版本号,可执行以下命令。

kubectl rollout undo daemonset/[name] --to-revision=[REVISION]

Kubectl 删除 DaemonSet

执行以下命令,删除 DaemonSet。

kubectl delete DaemonSet [NAME]



容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/147445.html

(0)
上一篇 2023年12月9日 下午12:39
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储查询 AI 内容识别(异步)队列

    功能描述 本接口用于查询AI 内容识别(异步)队列。 授权说明 授权策略中 action 设置为 ci:DescribeAiProcessQueues 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 GET /a…

    腾讯云 2023年12月9日
  • 腾讯云计算加速套件TACO KitTensorFlow 模型优化

    操作场景 本文介绍如何使用 TACO Infer 优化模型。说明请确保您已经完成相关环境的安装配置,详情请参见 安装 TACO Infer。 操作步骤 准备模型 TACO Infer 支持 TensorFlow frozen pb 和 saved model 两种主要的模型格式。在模型优化前,需在磁盘上导出模型文件。您可以自行训练导出支持格式的模型或下载公开…

    腾讯云 2023年12月9日
  • 腾讯云高性能计算集群实例售卖地域

    高性能计算集群实例可售卖地域如下表: 实例族 类型 机型 GPU 型号 地域 高性能计算集群 GPU 型 HCCPNV5 NVIDIA H800 上海   HCCPNV5v NVIDIA H800 北京、上海、南京   HCCPNV4sne NVIDIA A800 上海   HCCPNV4sn NVIDIA A800 广州   HCCPNV4…

    腾讯云 2023年12月9日
  • 腾讯云云点播关于播放器 SDK “startPlay”接口名变更的公告

    播放器 SDK 预计在2022年09月19日发布移动端10.7版本,在该版本中接口 startPlay 的名称将做出变更。startPlay 接口在配置 SDK 播放功能时使用,代表开始播放。具体变更如下:点播播放接口 TXVodPlayer 的开始播放接口名由 startPlay 变更为 startVodPlay,详情参见 API-iOS-点播播放,API…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云容器服务日志采集同尘科技

    本文主要介绍如何通过控制台的方式将注册集群的日志接入到 腾讯云日志服务 CLS。 操作场景 日志采集功能是容器服务 TKE 为用户提供的集群内日志采集工具,可以将集群内服务或集群节点特定路径文件的日志发送至 腾讯云日志服务 CLS。日志采集功能适用于需要对 Kubernetes 集群内服务日志进行存储和分析的用户。日志采集功能需要为每个集群手动开启并配置采集…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。