dodas.kubernetes
Kubernetes 角色
这个 Ansible 角色用于安装 Kubernetes 集群。
角色变量
可以传递给这个角色的变量及其简要说明如下:
- 需要安装的版本或最新版本
- kube_version: 1.28.7
- 节点类型:前端或工作节点
- kube_type_of_node: front
- Kube 前端节点的 IP 地址或名称
- kube_server: "{{ ansible_default_ipv4.address }}"
- 安全令牌
- kube_token: "kube01.{{ lookup('password', '/tmp/tokenpass chars=ascii_lowercase,digits length=16') }}"
- 令牌的生存时间(0 表示不失效)
- kube_token_ttl: 0
- POD 网络 CIDR
- kube_pod_network_cidr: 10.244.0.0/16
- Kubelet 额外参数
- kubelet_extra_args: ''
- 设置是否安装 HELM 的标志
- kube_install_helm: true
- 如果为真,则在 RAM 磁盘中运行 Kubernetes etcd
- etcd_in_RAM: true
- 部署仪表板
- kube_deploy_dashboard: true
- 传递给 kubeadm init --apiserver-advertise-address 选项的值
- kube_api_server: 0.0.0.0
- 一组要在集群中应用的 git 仓库和路径,格式如下:
- kube_apply_repos: [{repo: "https://github.com/kubernetes-incubator/metrics-server", version: "master", path: "deploy/1.8+/"}]
- 设置是否安装 Metrics-Server 的标志
- kube_install_metrics: false
- 启用 GPU 支持的标志
- enable_gpu: false
- 如果
enable_gpu == true
,需包含的 Ansible 角色的名称(和版本)- gpu_support_role: git+https://baltig.infn.it/infn-cloud/ansible-role-gpu-support,vX.Y.Z
依赖项
- ansible-role-gpu-support(如果
enable_gpu == true
) - ansible-role-containerd(由 geerlingguy 提供)
RAM 中的 ETCD
需求
集群必须使用 containerd 作为容器运行时,并且 etcd 必须作为 pod 在 Kubernetes 集群中运行,例如通过 kubeadm 集群设置。
针对现有集群的手动设置
首先,从 这里 下载 nerdctl,并将可执行文件移动到 /usr/local/bin
。然后,按照以下方式复制 files_etcdRAM
文件夹的内容:
files_etcdRAM/usr/lib/systemd/system/kubelet.service.d ---> /usr/lib/systemd/system/kubelet.service.d
files_etcdRAM/etc/cron.d ---> /etc/cron.d
files_etcdRAM/opt/etcdRAM/bin ---> /opt/etcdRAM/bin
重启 daemon
并更新 crontab
:
systemctl daemon-reload
crontab /etc/cron.d/etcdRAM-etcd
要将存储目录 /var/lib/etcd
挂载为 RAM 磁盘,需要在 /etc/fstab
中添加一行:
tmpfs /var/lib/etcd tmpfs defaults,noatime,size=2g 0 0
最后,清空 /var/lib/etcd
目录中的所有内容,并挂载 RAM 磁盘:
rm -rf /var/lib/etcd/*
mount -a
感谢
安装
ansible-galaxy install dodas.kubernetes
许可证
apache-2.0
下载
1.5k
拥有者
Dynamic On Demand Analysis Service DODAS is a Platform as a Service tool built combining several solutions and products