githubixx.kubectl

ansible-role-kubectl

安装用于与Kubernetes API服务器交互的kubectl命令行工具。

版本

我为每个发布版本打标签,并尽量遵循语义版本控制。如果您想使用此角色,建议您查看最新标签。主分支基本上是开发版本,而标签标记为稳定发布版本。但一般来说,我也会保持主分支的良好状态。标签23.0.2+1.28.5意味着这个角色的发布版本是23.0.2,而kubectl客户端二进制文件的版本是1.28.5。如果角色本身发生变化,X.Y.Z中的数字会在+之前增加;如果Kubernetes版本变化,X.Y.Z中的数字会在+之后增加。这允许在为特定Kubernetes版本开发时标记修复和新的主要版本。

变更日志

请查看变更日志

角色变量

# 要安装的"kubectl"版本
kubectl_version: "1.29.3"

# 默认的"二进制"将下载"kubectl"作为二进制文件。这个文件
# 大约比".tar.gz"文件大2.5倍。tar文件下载后需要先由角色解压
# 并且更小。
#
# 如果您指定"binary",那么将下载"kubectl"二进制文件。与
# tar文件相比,二进制文件大约大2.5倍,但这个角色不需要解压。
#
# 如果下载文件大小对您很重要(例如,下载速度慢或通过移动网络下载),
# 请保持使用"archive"。否则,"binary"可能是一个选择。
kubectl_download_filetype: "binary"
#
# "kubernetes-client-linux-amd64.tar.gz"文件的SHA512校验和
# (请参见 https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#client-binaries)
kubectl_checksum_archive: "sha512:c9cc7ab9e3aa776f2daab3a9e10ee78d57d0c081ef43f8032de36a61c6425ba527d5df92611b058672be0975a6b97ad3f3a169e282c26275d2c0e59e1f9b1173"
#
# 二进制文件的SHA512校验和。通常不需要更改它。
# 进一步信息:
#   - https://kubernetes.io/releases/download/#binaries
#   - https://www.downloadkubernetes.com/
kubectl_checksum_binary: "sha512:https://cdn.dl.k8s.io/release/v{{ kubectl_version }}/bin/{{ kubectl_os }}/{{ kubectl_arch }}/kubectl.sha512"

# 安装"kubectl"二进制文件的位置
kubectl_bin_directory: "/usr/local/bin"

# 存储kubectl归档文件的目录
kubectl_tmp_directory: "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}"

# "kubectl"二进制文件的所有者
kubectl_owner: "root"

# "kubectl"二进制文件的组
kubectl_group: "root"

# 指定"kubectl"二进制文件的权限
kubectl_binary_mode: "0755"

# "kubectl"应运行的操作系统
kubectl_os: "linux"  # 对于MacOS X使用"darwin",对于Windows使用"windows"

# "kubectl"应运行的处理器架构
kubectl_arch: "amd64"  # 其他可能的值: "386","arm64","arm","ppc64le","s390x"

测试

此角色有一个小的测试设置,使用molecule创建。要运行测试,请按照molecule安装指南操作。确保您的机器上运行着Docker守护进程。

假设Docker已安装,您需要至少安装两个Python包:

pip3 install --user molecule
pip3 install --user molecule-docker

之后,可以执行molecule:

molecule converge

这将设置几个Docker容器,运行Ubuntu 20.04/22.04和Debian 11/12,并安装kubectl。要验证一切是否正常:

molecule verify

要清理,请运行

molecule destroy

示例剧本

- hosts: your-host
  roles:
    - githubixx.kubectl

许可证

GNU 通用公共许可证 第3版

作者信息

TauCeti 博客

关于项目

Installs kubectl command line utility used to interact with the Kubernetes API Server.

安装
ansible-galaxy install githubixx.kubectl
许可证
gpl-3.0
下载
12k
拥有者
Senior System Engineer - Python, Go, Cloud, Kubernetes, Commodore, Retro, 80's ;-)