1、部署规划
master:192.168.6.170 主节点至少2G内存+2CPU
node1:192.168.6.171
node2:192.168.6.172
2、关闭firewalld和selinux(先操作一台机器,node节点后面复制master)
关闭防火墙
service firewalld stop
systemctl disable firewalld
关闭selinux
setenforce 0 #仅当前临时关闭,重启失效
永久关闭
vi /etc/selinux/config
SELINUX=disabled
3、在所有机器上安装docker
添加yum工具和docker源
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker-ce
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
更新yum缓存信息
yum clean all
yum makecache
启动并查看docker状态
systemctl start docker && systemctl status docker
配置网络加速
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker","exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
重启docker
# 重新加载docker配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
4、修改一些内核参数
先看一下里面是否有内容 vi /etc/sysctl.conf,不存在这些参数再进行配置
cat <<EOF >> /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF
之后让修改生效
sysctl -p #让参数生效到内核里面
5、 rke安装需要新建用户并添加到docker组
useradd xxx
passwd xxx
usermod -aG docker xxx
顺便添加一下sudo权限:
vi /etc/sudoers
验证是否生效
su rke
docker info
6、安装 Kubernetes 命令行工具 kubectl。
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x kubectl && cp kubectl /usr/bin/
7、复制master节点
复制master节点,更改hostname,并配置hosts映射
hostnamectl set-hostname node1
vi /etc/hosts
8、使用rke安装k8s
在master节点切换并安装rke,需要切换成rke用户
su rke && cd ~
下载地址:
curl -LO "https://github.com/rancher/rke/releases/download/v1.3.10/rke_linux-amd64" && mv rke_linux-amd64 rke && chmod +x rke && ./rke --version && cp rke /usr/bin/
# =====================================国内备用 ===========================================
curl -fL "https://kinshy-generic.pkg.coding.net/south/study/rke?version=latest" -o rke && chmod +x rke && ./rke --version
同目录下创建cluster.yml文件:
nodes:
- address: 192.168.6.170
user: 前边自己建的用户
role: [controlplane,etcd]
- address: 192.168.6.171
user: 前边自己建的用户
role: [etcd,worker]
- address: 192.168.6.172
user: 前边自己建的用户
role: [etcd,worker]
开始安装:
./rke up --config cluster.yml
完成后当前目录会生成kube_config_cluster.yml文件和cluster.rkestate文件
rke安装后,会在当前目录生成k8s集群配置文件kube_config_cluster.yml,拷贝这个文件并重命名为~/.kube/config。然后测试使用:
mkdir ~/.kube && cp kube_config_cluster.yml ~/.kube/config
并将上述文件分发到各节点相应目录
使用kubectl 查看节点信息:
kubectl get node
就此安装完成