Skip to content

用于构建一个私有的k8s集群的Ansible脚本

License

Notifications You must be signed in to change notification settings

Winson-030/k8s-ubuntu-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#目标要求

  • 自动化搭建k8s私有云,降低操作难度
  • 工程师能够在客户现场,进行k8s集群的搭建工作
  • 工程师能够在本地工厂,进行k8s集群的搭建工作
  • 可以在没有公网访问权限的情况下,进行k8s集群的搭建工作
  • 搭建出的集群,可以在没有公网访问权限的环境下工作
  • 可以搭配第三方的k8s集群管理工具(web界面)

#准备工作

##技能要求

  • 熟悉linux的基本操作命令
  • 熟悉Ansible的基本操作
  • 熟悉Docker的基本操作
  • 阅读完成k8s的官方文档,对k8s有一个基本的认识,了解其术语和基本概念

##目标主机

  • 操作系统: ubuntu 18.04
  • 配置主机能够使用 root 用户进行 ssh证书登录
  • 目标主机硬件配置符合安装k8s的最低要求, 参考
  • 3台master主机, n (n>=1)台worker主机
  • 目标主机配置静态IP

##控制端主机

  • 我们通过控制端主机进行操作, 完成整个k8s集群的创建过程
  • 安装了 Ansible, 我们通过 Ansible 进行整个集群的创建操作

##网络要求

  • 目标主机配置了静态IP
  • 目标主机之间能够互通
  • 控制端主机能够与目标主机互通, 控制端主机能够通过证书方式,对目标主机进行ssh操作 参考:ssh-copy-id
  • 目标主机能够访问公网, 以便目标主机能够下载依赖软件包和docker镜像 (离线方式的解决方案另外开篇叙述)
  • k8s网络插件,采用 Calico

##网络规划

###案例描述

####IP地址分配

  • 假设目标主机处于 192.168.3.0/24 网段,分配地址如下表所示:

    用于 IP地址
    --control-plane-endpoint (k8s apiServer 在本地集群的域名:端口),域名解析到右边所分配的IP地址 192.168.3.150
    Master_1 192.168.3.151
    Master_2 192.168.3.152
    Master_3 192.168.3.153
    Worker_1 192.168.3.154
    Worker_2 192.168.3.155
  • 网段规划

    用于 网段
    --pod-network-cidr 172.19.0.0/16
    --service-cidr

#获取安装脚本

#创建k8s集群

##目标主机初始化设置

##创建一个单Master的k8s集群

##添加额外2台Master主机

##为Master主机配置高可用和负载均衡

About

用于构建一个私有的k8s集群的Ansible脚本

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.1%
  • Ruby 6.5%
  • Dockerfile 0.4%