Kubernetes(k8s)集群部署(kubeasz安装脚本)

   🔥 推荐专栏《DevOps本地化方案》

快速指南

以下为快速体验k8s集群的测试、开发环境--单节点部署(aio),国内环境下比官方的minikube方便、简单很多。

GitHub - easzlab/kubeasz: 使用Ansible脚本安装K8S集群,介绍组件交互原理,方便直接,不受国内网络环境影响

kubeasz: https://github.com/easzlab/kubeasz - Gitee.com

1.基础系统配置

  • 2c/4g内存/40g硬盘(该配置仅测试用)
  • 最小化安装Ubuntu 16.04 server或者CentOS 7 Minimal
  • 配置基础网络、更新源、SSH登录等

注意: 确保在干净的系统上开始安装,不能使用曾经装过kubeadm或其他k8s发行版的环境

2.下载文件

  • 下载工具脚本ezdown,举例使用kubeasz版本3.0.0
  • yum install wget -y 如果没有wget

yum install python3 所有节点都需要安装

export release=3.6.3 wget https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown chmod +x ./ezdown

  • 使用工具脚本下载

默认下载最新推荐k8s/docker等版本(更多关于ezdown的参数,运行./ezdown 查看)

./ezdown -D

  • 可选下载离线系统包 (适用于无法使用yum/apt仓库情形)

./ezdown -P

上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz

  • /etc/kubeasz 包含 kubeasz 版本为 ${release} 的发布代码
  • /etc/kubeasz/bin 包含 k8s/etcd/docker/cni 等二进制文件
  • /etc/kubeasz/down 包含集群安装时需要的离线容器镜像
  • /etc/kubeasz/down/packages 包含集群安装时需要的系统基础软件

3.安装集群

  • 容器化运行 kubeasz,详见ezdown 脚本中的 start_kubeasz_docker 函数

./ezdown -S

在ansible控制端配置免密码登录

# 更安全 Ed25519 算法
ssh-keygen -t ed25519 -N '' -f ~/.ssh/id_ed25519
# 或者传统 RSA 算法
ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa
ssh
ssh-copy-id 192.168.151.15 #$IPs为所有节点地址包括自身,按照提示输入yes 和root密码

# 为每个节点设置python软链接
ssh $IPs ln -s /usr/bin/python3 /usr/bin/python

4 创建集群

docker exec -it kubeasz ezctl new k8s-01

# 容器化运行kubeasz
./ezdown -S

# 创建新集群 k8s-01
docker exec -it kubeasz ezctl new k8s-01
2021-01-19 10:48:23 DEBUG generate custom cluster files in /etc/kubeasz/clusters/k8s-01
2021-01-19 10:48:23 DEBUG set version of common plugins
2021-01-19 10:48:23 DEBUG cluster k8s-01: files successfully created.
2021-01-19 10:48:23 INFO next steps 1: to config '/etc/kubeasz/clusters/k8s-01/hosts'
2021-01-19 10:48:23 INFO next steps 2: to config '/etc/kubeasz/clusters/k8s-01/config.yml'

然后根据提示配置'/etc/kubeasz/clusters/k8s-01/hosts' 和 '/etc/kubeasz/clusters/k8s-01/config.yml':根据前面节点规划修改hosts 文件和其他集群层面的主要配置选项;其他集群组件等配置项可以在config.yml 文件中修改。

开始安装 如果你对集群安装流程不熟悉,请阅读项目首页 安装步骤 讲解后分步安装,并对 每步都进行验证

#建议使用alias命令,查看~/.bashrc 文件应该包含:alias dk='docker exec -it kubeasz'
source ~/.bashrc

# 一键安装,等价于执行docker exec -it kubeasz ezctl setup k8s-01 all
dk ezctl setup k8s-01 all

# 或者分步安装,具体使用 dk ezctl help setup 查看分步安装帮助信息
# dk ezctl setup k8s-01 01
# dk ezctl setup k8s-01 02
# dk ezctl setup k8s-01 03
# dk ezctl setup k8s-01 04
...

后续为k8s集群增加工作节点

以公司的k8s集群为例

10.0.151.11 为部署节点和master 这台集群安装里 kubeasz 和 ansible 所以在10.0.151.11 机器下执行添加工作节点的命令

我们现在要把10.0.153.2添加进来

1.配置免密登录 10.0.151.11到10.0.151.13需要免密

ssh-copy-id 10.0.153.2

2.执行添加工作节点命令

docker exec -it kubeasz ezctl add-node k8s-01 10.0.153.2 k8s_nodename=worker-03

*********************************************

在极端情况下可以把已经添加到k8s 集群的机器重装了系统 可以安装上述步骤直接重新再添加节点

后续为k8s集群增加主节点

我们现在要把10.0.151.122添加到主节点

1.配置免密登录 10.0.151.11到10.0.151.122需要免密

ssh-copy-id 10.0.151.122

2.进入到/etc/kubeasz

cd /etc/kubeasz

3.执行添加主节点命令

./ezctl add-master default 10.0.151.122 k8s_nodename=master-03

4.给主节点安装etcd

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值