Rancher 安装配置

在阿里云上开6台服务器,1台rancher-server,3台master,2台node

1、Rancher安装

1.1、修改主机名

# 对应阿里云中rancher-server 实例
hostnamectl set-hostname rancher-server
# 对应阿里云中master01 实例
hostnamectl set-hostname master01
# 对应阿里云中master02 实例
hostnamectl set-hostname master02
# 对应阿里云中master03 实例
hostnamectl set-hostname master03
# 对应阿里云中node01 实例
hostnamectl set-hostname node01
# 对应阿里云中node02 实例
hostnamectl set-hostname node02

1.2、修改hostname (可以不设置)

cat <<EOF>> /etc/hosts
# rancher k8s cluster 
172.24.228.223   rancher-server
172.24.228.225   master01
172.24.228.224   master02
172.24.228.220   master03
172.24.228.221   node01
172.24.228.222   node02
EOF

1.3、系统性能调优

cat >> /etc/sysctl.conf<<EOF
# 开启路由功能
net.ipv4.ip_forward=1
# 避免cpu资源长期使用率过高导致系统内核锁
kernel.watchdog_thresh=30
# 开启iptables bridge
net.bridge.bridge-nf-call-iptables=1
# 调优ARP高速缓存
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
# 模块加载
modprobe br_netfilter
# 保存配置
sysctl -p

1.4、安装docker

# 卸载旧版本Docker软件
sudo yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-selinux \
              docker-engine-selinux \
              docker-engine \
              container*

# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data  lvm2 bash-completion

# 添加Docker源信息
sudo yum-config-manager --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;

# 查看docker的版本
yum list docker-ce --showduplicates | sort -r

# 安装docker 19.03.8版本
sudo yum -y install docker-ce-19.03.8-3.el7  docker-ce-cli-19.03.8-3.el7
# 不指定版本时将安装最新版本
# sudo yum -y install docker-ce  docker-ce-cli

# 设置开机启动
sudo systemctl enable --now docker;

# 如出现如下错误,重新安装一下docker
# [root@node01 ~]# sudo systemctl enable --now docker;
# Failed to execute operation: No such file or directory

1.5、添加daemon.json配置镜像加速

cat <<EOF>> /etc/docker/daemon.json
{
"max-concurrent-downloads": 3,
"max-concurrent-uploads": 5,
"registry-mirrors": ["https://rzhmepqn.mirror.aliyuncs.com"],
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"],
"insecure-registries": ["192.168.1.100"],
"log-driver": "json-file",
"log-opts": {
  "max-size": "100m",
  "max-file": "3"
}
}
EOF

#重启docker
systemctl restart --now docker

1.6、在rancher-server安装单节点rancher在新窗口打开

# 这里安装的为稳定版(个人测试也可以选择最新版)
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /var/lib/rancher/:/var/lib/rancher/ \
-v /var/log/auditlog:/var/log/auditlog \
-e CATTLE_SYSTEM_CATALOG=bundled \
-e AUDIT_LEVEL=3 \
rancher/rancher:stable

在阿里云--网络与安全--安全组,添加80,443的端口允许访问,即可通过rancher-server的外网IP访问

1.7、集群创建步骤

在rancher-server镜像运行起来后,通过rancher-server的外网地址直接访问。

设置admin密码:****

管理员密码重置在新窗口打开

1587105879907

这里选择 阿里云服务器上 rancher-server 私有IP

1587105966074

1587105942913

选择语言

1587105990968

创建集群

1587106015835

选择 自定义

1587106032034

输入一个集群名称,如:cluster01

1587106071508

选择Etcd 、Controlmaster节点上执行 (注意是所有master节点,master01、master02、master03)

1587106094277

1587106681084

选择Workernode节点上执行(注意是所有node节点,node01、node02)

1587106152282

1669640071576

2、kubectl安装配置

2.1、安装kubectl

# 下载kubectl (选择一台master安装就是了,如master01)
wget https://docs.rancher.cn/download/kubernetes/linux-amd64-v1.17.5-kubectl
chmod +x linux-amd64-v1.17.5-kubectl
mv linux-amd64-v1.17.5-kubectl /usr/local/bin/kubectl

2.2、配置kubectl

# 创建.kube目录
mkdir .kube
cd .kube
vi config

将kubeconfig文件的内容复制到config

1587107162686

2.3、 kubectl shell自动补全

# 查看completion帮助
kubectl completion -h
# 将kubectl自动补全添加到当前shell
source <(kubectl completion bash)
# 将kubectl自动补全添加到配置文件中,可以在以后的shell中自动加载它
echo "source <(kubectl completion bash)" >> ~/.bashrc

# kubectl (按两次Tab即提示相关命令,如有问题,退出再重新su)
exit
su

上次更新:
编辑者: 李贤伟