# Kubernetes自动化部署 **Repository Path**: aaronding/k8s_auto_install ## Basic Information - **Project Name**: Kubernetes自动化部署 - **Description**: 通过Ansible实现基于kubeadm自动化部署Kubernetes。只需要一个干净的CentOS7.6 OS即可,支持离线部署 - **Primary Language**: Shell - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2020-09-22 - **Last Updated**: 2022-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README CentOS上自动化安装Kubernetes ======================================= ## 1. 说明 傻瓜式安装 安装包中已经包括了所需要的docker镜像 进行基本的配置后执行install.sh即可完成安装 支持单机和集群, 集群模式使用Keepalived ## 2. 配置 所有配置都再`inventory`目录下下 ### 2.1 主机参数配置 - 配置`inventory/host_vars/`目录下的主机信息, 每个主机对应一个yml文件, 文件名称为主机名称(建议保持node1,node2这种命名),比如node1.yml配置示例如下: ```yaml # 主机参数相关的配置, 按照实际情况填写即可(目前只支持root, become可不用关注) ansible_ssh_host: 192.168.2.1 ansible_ssh_port: 22 ansible_ssh_user: root ansible_ssh_pass: 123456 ansible_become: false # Flannel对应的网卡名 flannel_iface: eth0 ``` - 配置`inventory/hosts.ini`文件 ```toml # 所有的节点列表 [all] node1 node2 node3 # master节点列表(建议3个或者5个) [masters] node1 node2 node3 # node节点列表 [nodes] node1 node2 node3 [cluster:children] masters nodes ``` ### 2.2 业务参数配置 - 配置`inventory/group_vars/all/`目录下的配置信息 主要包括`common.yml`和`kubernetes.yml`两个配置文件(基本上使用默认值即可,介绍下重点配置) ```yaml # common.yml文件 keepalived_vip: "10.192.82.250" // 如果是集群模式(多个master), 需要配置VIP keepalived_interface: "eth0" // keepalived使用的网卡名称 # kubernetes.yml文件 kube_net_pod_subnet: "10.244.0.0/16" // k8s的pod的网段 kube_service_subnet: "10.96.0.0/12" // k8s的service的网段 flannel_backend_type: "host-gw" // flannel的网络模式 kubelet_root_dir: /var/lib/kubelet // kubelet的数据目录 docker_root_dir: /var/lib/docker // docker的数据目录 ``` ## 3. 安装 - 执行脚本进行安装操作 ```bash # 安装 ./scripts/install.sh ``` ### 3.1 Master节点变为可调度 安装完成后,默认Master节点为不可调度节点,如果在开发测试的时候,想要开启为可调度,可以执行如下命令: `kubectl taint nodes node-role.kubernetes.io/master-` :节点名称,可以通过`kubectl get nodes`查看 ## 4. 卸载 - 执行脚本进行卸载操作 ```bash # 安装 ./scripts/reset.sh ```