Kubernetes搭建集群
硬件环境的要求:
(1)一台或多台机器,操作系统CentOS 8.x-86_x64(7或Ubuntu都可以)【尽量环境统一】
(2)硬件配置:内存2GB或2G+,CPU 2核或CPU 2核+;
(3)集群内各个机器之间能相互通信;
(4)集群内各个机器可以访问外网,需要拉取镜像;
(5)禁止swap分区;
建议:
先在一台master上执行完成相关安装,最后node节点再加入集群
[root@k8s-master ~]# cat /etc/centos-release
CentOS Linux release 8.4.2105
root@node2:/home/zjh# cat /etc/issue
Ubuntu 20.04.2 LTS \n \l
一、项目环境准备
准备3台虚拟机(centos-8.2)并运行以下脚本:
#!/bin/bash
#解决依赖关系
yum install -y yum-utils zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc lsof net-tools vim python3
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux(#临时关闭)
setenforce 0
#永久关闭
sed -i '/^SELINUX/ s/enforcing/disabled/' /etc/selinux/config
# 关闭swap(k8s禁止虚拟内存以提高性能)
swapoff -a # 临时
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #永久
#添加hosts (这里要看自己的IP地址)
cat >> /etc/hosts << EOF
192.168.172.134 k8smaster
192.168.172.135 k8snode
EOF
#设置网桥参数
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
#检查是否生效
sysctl --system
#时间同步
(centos7)
yum install ntpdate -y
ntpdate time.windows.com
(centos7\8)
1、yum install -y chrony
2、vim /etc/chrony.conf
3、将第一行改成:
pool ntp.ntsc.ac.cn iburst
4、保存退出
5、systemctl enable chronyd
6、systemctl start chronyd
*安装docker
1、 查看docker是否存在
#查看进程
ps aux|grep docekr
#查看能否启动docker服务
service docker restart(重启)
#查看docker安装包是否存在
rpm -qa|grep docker
2、查看docker版本
[root@k8s-master ~]# docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:53:39 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
3、安装yum-utils软件包(提供yum-config-manager 实用程序),配置安装源
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker,设置开机自启
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker
5、配置 Docker使用systemd作为默认Cgroup驱动
每台服务器上都要操作,master和node上都要操作
cat <<EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
#重启docker
systemctl restart docker
二、K8s集群搭建
1、所有机器重新设置对应主机名
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2
修改主机名后使用`su - root`重新登陆
2