- 安装ansible
在CentOS系统中,可以使用以下命令安装Ansible:
yum install ansible
- 安装Docker和Kubernetes
为了部署Kubernetes集群,需要先安装Docker和Kubernetes。
可以使用以下命令安装Docker:
yum install docker-ce
可以使用以下命令安装Kubernetes:
yum install kubectl kubeadm kubelet
- 配置Ansible
在Ansible中,需要配置主机清单文件(Inventory)和Playbook。
在主机清单文件中,需要定义要管理的主机及其IP地址。可以将所有主机的IP地址定义在一个文件中,并指定该文件路径:
[all]
192.168.0.1
192.168.0.2
192.168.0.3
在Playbook中,需要定义要执行的任务和步骤。以下是一个简单的Playbook示例,用于安装Docker和Kubernetes:
- hosts: all
tasks:
- name: Install Docker
yum:
name: docker-ce
state: present
- name: Start Docker Service
service:
name: docker
state: started
enabled: yes
- name: Install Kubernetes
yum:
name: kubectl,kubeadm,kubelet
state: present
- 运行Ansible Playbook
在Ansible中,可以使用以下命令运行Playbook:
ansible-playbook playbook.yml
其中,playbook.yml是Playbook文件名。执行该命令后,Ansible将在所有主机上执行定义的任务。
- 部署Kubernetes集群
在配置好Ansible后,可以使用Ansible Playbook部署Kubernetes集群。以下是一个简单的Playbook示例:
- hosts: all
tasks:
- name: Install Docker
yum:
name: docker-ce
state: present
- name: Start Docker Service
service:
name: docker
state: started
enabled: yes
- name: Install Kubernetes
yum:
name: kubectl,kubeadm,kubelet
state: present
- name: Initialize Kubernetes Master
command: kubeadm init --apiserver-advertise-address=192.168.0.1
- name: Copy Kubernetes Config
copy:
src: /etc/kubernetes/admin.conf
dest: /root/.kube/config
- name: Install Flannel
command: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- name: Get Join Command
command: kubeadm token create --print-join-command
register: join_command
- name: Save Join Command
lineinfile:
path: /root/join.sh
line: "{{ join_command.stdout_lines | first }}"
- name: Set Permissions on Join Script
file:
path: /root/join.sh
owner: root
group: root
mode: 0700
在这个示例中,首先安装Docker和Kubernetes,然后初始化Kubernetes主节点,并拷贝Kubernetes配置文件到本地。接着,安装Flannel网络插件,并获取加入集群的命令,将其保存至本地。最后设置加入脚本的权限。
运行该Playbook后,Kubernetes集群将会在所有主机上部署成功。可以通过访问Kubernetes API服务器来管理和监控集群。




