1、概述

kuberneters作为伸缩性的集群,节点扩容是日常必备的功能,本文主要描述新增节点的完整过程。

2、过程简述

(1)、修改centos仓库地址,以加速安装过程

(2)、安装必要工具和设置系统

(3)、安装docker

(4)、优化docker设置

(5)、安装 kuberneters组件

(6)、配置kuberneters环境

(7)、将节点加入已有集群

3、安装过程

(1)、修改centos仓库地址,以加速安装过程。

由于国外的centos仓库速度很慢,可以用阿里的镜像服务器,来加速应用的下载和安装。相关的去镜像可以到http://mirrors.aliyun.com/查询

# CentOS-Base.repo 
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
# kubernetes 
cat <<EOF > /etc/yum.repos.d/kubernetes.repo 
[kubernetes] 
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ 
enabled=1 
gpgcheck=1 
repo_gpgcheck=1 
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 
EOF 
# 下载校验文件 
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg 
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg 
# 导入校验文件 
rpm --import rpm-package-key.gpg 
rpm --import yum-key.gpg 
# docker 源 
# step 1: 安装必要的一些系统工具 
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 
# Step 2: 添加软件源信息 
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

 

(2)、安装必要工具和设置系统

主要是源管理器,上一步已经提到了。还有关闭防火墙、设置网络、互信登录

yum install -y yum-utils device-mapper-persistent-data lvm2 
# 关闭防火墙 
systemctl stop firewalld && systemctl disable firewalld
# 设置网络 
cat <<EOF>/etc/sysctl.d/k8s.conf 
# 添加如下内容 
net.bridge.bridge-nf-call-ip6tables = 1 
net.bridge.bridge-nf-call-iptables = 1 
net.ipv4.ip_forward = 1 
EOF 
# 执行命令生效 
modprobe br_netfilter 
sysctl -p /etc/sysctl.d/k8s.conf 
# 设置信任登录(在master上执行) 
ssh-keygen -t rsa 
ssh-copy-id -i .ssh/id_rsa.pub  root@nodename

(3)、安装docker

可以查看源中的docker版本,集群中的docker版需要保持一致。

# 查看版本 
yum list docker-ce.x86_64 --showduplicates | sort -r 
# 安装 
yum install -y docker-ce
systemctl start docker & systemctl enable docker 
# 注意: 
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。 
# vim /etc/yum.repos.d/docker-ee.repo 
# 将[docker-ce-test]下方的enabled=0修改为enabled=1 
# 
# 安装指定版本的Docker-CE: 
# Step 1: 查找Docker-CE的版本: 
# yum list docker-ce.x86_64 --showduplicates | sort -r 
# Loading mirror speeds from cached hostfile 
# Loaded plugins: branch, fastestmirror, langpacks 
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable 
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable 
# Available Packages # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos) 
# sudo yum -y install docker-ce-[VERSION]

(4)、优化docker设置

由于docker源在国外,下载速度非常慢,有时不能访问,所以需要设置国内镜像地址,另外也可以设置代理服务器来访问国外的源。

# 设置镜像服务器,同时设置cgroup driver,k8s要求systemd 
cat <<EOF>/etc/docker/daemon.json 
{
 "registry-mirrors":["https://f1791z1h.mirror.aliyuncs.com"],
 "exec-opts": ["native.cgroupdriver=systemd"] 
}
EOF
 
# 设置代理 
mkdir /etc/systemd/system/docker.service.d 
cat <<EOF>/etc/systemd/system/docker.service.d/http-proxy.conf 
[Service] 
Environment="HTTP_PROXY=http://192.168.5.107:1081/" "HTTPS_PROXY=http://192.168.5.107:1081/" "NO_PROXY=localhost,127.0.0.1,f1791z1h.mirror.aliyuncs.com"
EOF

(5)、安装 kuberneters组件

# 关闭selinux 
setenforce 0 
# 关闭 swap 分区,另外要修改 /etc/fstab,避免启动时加载swap分区 
swapoff -a 
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet

(6)、配置kuberneters环境

为calico设置节点名称,这个是在集群安装了 consul时用到的

cat <<EOF>/var/lib/calico/nodename
jaine-vpc04 
EOF

(7)、将节点加入已有集群

需要在主节点生成token,并获取加入集群的命令

# 创建token并打印join命令,这个命令生成的token是有有效期的 
kubeadm token create --print-join-command

然后在node节点执行刚刚主节点生成的加入命令

kubeadm join 192.168.5.203:6443 --token 4yetf5.2ipcosjxkbua7drh \
 --discovery-token-ca-cert-hash sha256:2c104ad46fd73fc1ce12fb07da846b263d752e0139ef308e2caffc0e5731fbb6

 

加入完成。

 

Logo

开源、云原生的融合云平台

更多推荐