详情页标题前

腾讯云容器服务使用 Ansible 批量操作 TKE 节点同尘科技

详情页1

操作场景

容器服务 TKE 集群新增节点可通过在“自定义数据”中填入脚本来进行批量操作,例如统一修改内核参数。但如需对已新增的存量节点进行批量操作,您可参考本文使用开源工具 Ansible 进行操作。

原理介绍

Ansible 是一款流行的开源运维工具,可以直接通过 SSH 协议批量操作机器,无需事先进行手动安装依赖等操作,十分便捷。原理示意图如下:

腾讯云容器服务使用 Ansible 批量操作 TKE 节点同尘科技



操作步骤

准备 Ansible 控制节点

1. 选取实例作为 Ansible 的控制节点,通过此节点批量发起对存量 TKE 节点的操作。可选择与集群所在私有网络 VPC 中任意实例作为控制节点(包括 TKE 节点)。 2. 选定控制节点后,选择对应方式安装 Ansible:Ubuntu 操作系统安装方式:

sudo apt update && sudo apt install software-properties-common -y && sudo apt-add-repository --yes --update ppa:ansible/ansible && sudo apt install ansible -y

CentOS 操作系统安装方式:

sudo yum install ansible -y

准备配置文件

将所有需要进行配置操作的节点内网 IP 配置到 host.ini 文件中,每行一个 IP。示例如下:

10.0.3.3310.0.2.4

如需操作所有节点,可通过以下命令一键生成 hosts.ini 文件。

kubectl get nodes -o jsonpath='{.items[*].status.addresses[?(@.type=="InternalIP")].address}' | tr ' ' '\n' > hosts.ini

准备批量执行脚本

将需批量执行的操作写入脚本,并保存为脚本文件。示例如下:
自建镜像仓库后没有权威机构颁发证书,直接使用 HTTP 或 HTTPS 自签发的证书,默认情况下 dockerd 拉取镜像时会报错。此时可通过批量修改节点的 dockerd 配置,将自建仓库地址添加到 dockerd 配置的 insecure-registries 中使 dockerd 忽略证书校验。脚本文件 modify-dockerd.sh 内容如下:

# yum install -y jq # centosapt install -y jq # ubuntucat /etc/docker/daemon.json | jq '."insecure-registries" += ["myharbor.com"]' > /tmp/daemon.jsoncp /tmp/daemon.json /etc/docker/daemon.jsonsystemctl restart dockerd

使用 Ansible 批量执行脚本

通常 TKE 节点在新增时均指向一个 SSH 登录密钥或密码。请按照实际情况执行以下操作:

使用密钥

1. 准备密钥文件,例如 tke.key。 2. 执行以下命令,授权密钥文件。

chmod 0600 tke.key

3. 批量执行脚本:Ubuntu 操作系统节点批量执行示例如下:

ansible all -i hosts.ini --ssh-common-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --user ubuntu --become --become-user=root --private-key=tke.key -m script -a "modify-dockerd.sh"

其他操作系统节点批量执行示例如下:

ansible all -i hosts.ini --ssh-common-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --user root -m script -a "modify-dockerd.sh"

使用密码

1. 执行以下命令,将密码输入至 PASS 变量。

read -s PASS

2. 批量执行脚本:Ubuntu 操作系统节点的 SSH 用户名默认为 ubuntu,批量执行示例如下:

ansible all -i hosts.ini --ssh-common-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --user ubuntu --become --become-user=root -e "ansible_password=$PASS" -m script -a "modify-dockerd.sh"

其他系统节点的 SSH 用户名默认为 root,批量执行示例如下:

ansible all -i hosts.ini --ssh-common-args="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --user root -e "ansible_password=$PASS" -m script -a "modify-dockerd.sh"



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

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

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

相关推荐

  • 函数计算中,3.0的触发器是不是一个负载均衡实例,能不能开放给我们自定义配置? -云小二-阿里云

    函数计算中,3.0的触发器是不是一个负载均衡实例,能不能开放给我们自定义配置 以下为热心网友提供的参考意见 这个不支持。此回答来自钉群阿里函数计算官网客户。

    阿里云 2024年1月3日
  • 腾讯云云函数(SCF)SDK 文档-云淘科技

    开发准备 安装 SDK 前,需要先获取安全凭证。在第一次使用云 API 之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretId 和 SecretKey。SecretId 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。 安装 SDK …

    腾讯云 2023年12月9日
  • 阿里云负载均衡计费概述-云淘科技

    传统型负载均衡CLB(Classic Load Balancer)支持包年包月和按量付费两种付费模式。本文为您介绍CLB计费方式总览、计费组成等信息。 计费方式总览 CLB支持包年包月和按量付费两种付费模式。 按量付费包含两种实例计费方式:按使用量计费和按规格计费。 公网计费方式包括按固定带宽计费和按使用流量计费,包年包月仅支持按固定带宽计费。 付费模式 实…

    阿里云负载均衡 2023年12月10日
  • 腾讯云对象存储升级到 XML iOS SDK

    如果您细心对比过 JSON iOS SDK 和 XML SDK 的文档,您会发现并不是一个简单的增量更新。XML iOS SDK 不仅在架构、可用性和安全性上有了非常大的提升,而且在易用性、健壮性和传输性能上也做了非常大的改进。如果您想要升级到 XML iOS SDK,请参考下面的指引,一步步完成 SDK 的升级工作。 功能对比 下表列出了 JSON SDK…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储开通智能语音服务

    简介 本文档提供关于开通智能语音服务的相关 API 概览以及 SDK 示例代码。 API 操作描述 开通智能语音服务 本接口用于开通智能语音服务并生成队列。 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参考 SDK API。 开通智能语音服务 功能说明 本接口用于开通智能语音服务并生成队列。说明:COS iOS SDK 版本需要大于等于…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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