在开始之前,部署kubernetes集群机器需要满足以下几个条件:
- 一台或多台机器,操作系统CentOS 7.x-86_x64
- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
- 操作系统内核kernel升级到4.19+(可忽略)
- 集群中所有机器之间网络互通
- 可以访问外网,拉取镜像
- 禁止swap分区
1、将脚本上传到master节点上,然后执行:
chmod +x install_k8s_master.sh
sh -x install_k8s_master.sh
安装时需要指定安装的版本信息:
安装docker和安装k8s时均需手动输入
master节点:
#!/bin/bash
# Kubernetes部署环境要求:
#(1)一台或多台机器,操作系统CentOS 7.x-86_x64
#(2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+;
#(3)集群内各个机器之间能相互通信;
#(4)集群内各个机器可以访问外网,需要拉取镜像;
#(5)禁止swap分区;
# 安装步骤
#1. 安装docker
#1.1 如果没有安装docker,则安装docker。会附带安装一个docker-compose
#
#2. 安装k8s
#2.1 初始化环境
#2.2 添加安装源
#2.3 安装kubelet、kubectl、kubeadmin
#2.4 安装master
#2.5 安装网络插件
#k8s与docker驱动须保持一致
#查看docker驱动docker info | grep "Cgroup Driver"
#k8s v1.22之前使用的是cgroupfs,v1.22之后默认使用的是systemd
set -e
# 安装日志
install_log=/var/log/install_k8s.log
tm=$(date +'%Y%m%d %T')
# 日志颜色
COLOR_G="\x1b[0;32m" # green
RESET="\x1b[0m"
function info(){
echo -e "${COLOR_G}[$tm] [Info] ${1}${RESET}"
}
function run_cmd(){
sh -c "$1 | $(tee -a "$install_log")"
}
function run_function(){
$1 | tee -a "$install_log"
}
function install_docker(){
info "1.时间同步"
yum install ntpdate -y
ntpdate time.windows.com
info "2.使用脚本自动安装docker..."
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/use-framework-upgrade/docker-ce.repo
yum -y install docker-ce-${docker_version} docker-ce-cli-${docker_version} containerd.io docker-compose-plugin
info "3.启动 Docker CE..."
sudo systemctl enable docker
sudo systemctl start docker
info "4.添加镜像加速器..."
if [ ! -f "/etc/docker/daemon.json" ];then
touch /etc/docker/daemon.json
fi
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://fyn26q1f.mirror.aliyuncs.com"
]
}
EOF
info "5.重新启动服务..."
sudo systemctl daemon-reload
sudo systemctl restart docker
info "6.测试 Docker 是否安装正确..."
do