Ubuntu环境部署Kubernetes

环境说明:

IP HOSTNAME USER Docker version kubelet version kubeadm version kubectl version calico version dashboard version OS
192.168.100.10 master deploy v20.10.11 v1.23.0 v1.23.0 v1.23.0 v3.21.2 v2.4.0 Ubuntu 20.04.3 server
192.168.100.100 node-01 deploy v20.10.11 v1.23.0 v1.23.0 v0 v0 v0 Ubuntu 20.04.3 server
192.168.100.101 node-02 deploy v20.10.11 v1.23.0 v1.23.0 v0 v0 v0 Ubuntu 20.04.3 server

一、系统初始化配置

1、Xshell远程【所有节点】

# 添加Xshell支持文件
sudo grep -E "^\s*KexAlgorithms" /etc/ssh/sshd_config || sudo sed -i -r '$aKexAlgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1' /etc/ssh/sshd_config

# 重启服务
sudo systemctl restart sshd

2、软件更新【所有节点】

# 检索包的新列表 && 执行更新
sudo apt-get update && sudo apt-get upgrade -y

3、SElinux 禁用【所有节点】

# 安装相关插件
sudo apt-get install -y selinux-basics selinux-utils

# 永久禁用(重启后生效)
sudo sed -i '/^[ \t]*SELINUX=/c\SELINUX=disabled' /etc/selinux/config

# 临时禁用
setenforce 0

# 查看SELinux状态!

getenforce

4、ufW 防火墙禁用【所有节点】

# 禁用防火墙
sudo ufw disable

# 查看防火墙状态
sudo ufw status

5、Swap 禁用【所有节点】

# 临时禁用
sudo swapoff -a

# 永久禁用(重启后生效)
sudo sed -ri 's/.*swap.*/#&/' /etc/fstab

# 查看Swap状态
free -m

6、时间同步【所有节点】【所有节点】

# 修改时区(中国上海的时区)
sudo timedatectl set-timezone Asia/Shanghai

# 启动时间同步 
sudo timedatectl set-ntp yes

# 查看当前系统时间
date

7、添加HOSTS文件【所有节点】

# 编辑需要添加名称解析内容
cat > host.txt <<END
192.168.100.100 master harbor.io
192.168.100.101 node-01
192.168.100.102 node-02
END

# 向/etc/hosts添加名称解析
cat host.txt | while read hosts_info; do
HOSTS_info=$(echo ${
    hosts_info})
sudo grep -E "${HOSTS_info}" /etc/hosts || sudo sed -i "/127.0.0.1/i ${HOSTS_info}" /etc/hosts
done
rm -rf host.txt


sudo sed -i "/^127.0.1.1/c\127.0.1.1 ${
    HOSTNAME}" /etc/hosts

8、修改主机命【所有节点】

# 对应/etc/hosts名称解析内容修改主机命
sudo hostnamectl set-hostname k8s-master

# 主机名配置生效
bash

9、开启IPV4流量转发【所有节点】

# 创建k8s流量转发配置文件
sudo tee /etc/sysctl.d/k8s.conf <<-'EOF'
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

# 配置生效
sudo sysctl --system

二、部署 Docker 服务

1、安装 Docker 服务【所有节点】

# 安装并配置必要的依赖项
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# 获取docker所需GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 写入docker软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# 检索包的新列表
sudo apt-get update

# 查看所有docker版本信息!
sudo apt-cache madison docker-ce
# 默认安装Docker-ce版本
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
# 安装Docker-ce版本 (安装最新版本)
# sudo apt-get -y install docker-ce=$(apt-cache madison docker-ce | awk 'NR==1{print $3}') docker-ce-cli=$(apt-cache madison docker-ce | awk 'NR==1{print $3}') containerd.io

# 设置开机启动
sudo systemctl enable docker

# 启动docker服务
sudo systemctl start docker

# 创建docker配置文件目录
sudo mkdir -p /etc/docker

# 添加docker配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {"max-size": "100m"},
"registry-mirrors": [
    "https://b9pmyelo.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com"]
}
EOF

# 重新加载systemd管理器配置
sudo systemctl daemon-reload

# 重启docker服务
sudo systemctl restart docker

# 显示docker系统信息,包括镜像和容器数
sudo docker info

# 查看docker运行驱动
sudo docker info |grep "Cgroup Driver" 

# 将当前用户加入到docker用户组
sudo gpasswd -a  ${
   USER} docker

# 配置生效
newgrp docker

# 测试是否配置成功
docker images

2、部署私有仓库harbor

# 创建工作目录
sudo mkdir -p /opt/harbor/{
   bin,data,log}

# 下载harbor安装包
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz

# 解压harbor安装包
sudo tar xvf harbor-offline-installer-v2.4.1.tgz -C /opt/harbor/bin --strip-components=1 && cd /opt/harbor/bin

# 修改harbor.yml文件名
sudo cp harbor.yml.tmpl harbor.yml

# 指定要部署 Harbor的IP地址
sudo sed -i '/^[ \t]*hostname:/c\hostname: harbor.io' harbor.yml
# 禁用https服务
sudo sed -i '/^https:/,+5 s/^/#/' harbor.yml
# 指定Harbor数据的位置
sudo sed -i '/^[ \t]*data_volume:/c\data_volume: /opt/harbor/data' harbor.yml
# 指定Harbor用户密码
harbor_admin_password: Harbor12345
# 指定Harbor保存日志的目录
sudo sed -i '/^[ \t]*location:/c\location: /opt/harbor/log' harbor.yml
# 安装并配置必要的依赖项
sudo apt -y install docker-compose
# 执行安装
sudo bash install.sh

三、安装 Kubernetes 服务【master节点】

1、安装 Kubernetes 服务

# 安装并配置必

你可能感兴趣的:(Kubernetes,ubuntu,kubernetes,linux,服务器,经验分享)