Centos7 通过RKE 部署 高可用k8s+rancher

前言:这里的rke rancher docker 是安装最新版的,如果需要安装特定版本,一些细节请自行百度和查询官网

环境介绍

操作系统:centos7

硬件配置:内存8GB以上 cpu2核以上  硬盘大于30G

系统架构:3个节点,每个节点同时承担master和work两种角色

10.9.1.200     rke-node1
10.9.1.201     rke-node2
10.9.1.201     rke-node3

操作步骤

(一)前期准备

注意以下操作需要在所有节点以root用户进行

——配置阿里云yum源

cd /etc/yum.repos.d/

yum clean all

rm -rf ./*

curl -O http://mirrors.aliyun.com/repo/Centos-7.repo

curl -O http://mirrors.aliyun.com/repo/epel-7.repo

yum makecache

——修改对应主机名

vi /etc/hostname

——配置静态ip

不会的百度一下

——配置hosts

vi /etc/hosts

——添加rke用户

adduser -d /home/rke -m rke

passwd rke

——为rke用户添加sudo 权限

输入visudo打开文件

在文件末尾添加  rke ALL=(ALL) NOPASSWD:ALL

——关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

——关闭SELINUX

setenforce 0

vi /etc/selinux/config

把SELINUX改为disabled

——时间同步

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

yum -y install ntp

cd /usr/share/zoneinfo/Asia/

ntpdate pool.ntp.org

echo "*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1" >>/var/spool/cron/root

(二)安装docker(注意:不同版本的k8s支持的docker版本不一样,我这里安装的是最新版的rke,所以docker直接安装最新版的即可,如果不是则需要安装对应版本的docker)

——安装工具

yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion

——添加docker源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

——安装docker

yum -y install docker-ce

——把rke用户加入docker组

usermod -aG docker rke

——开机自启并运行docker服务

systemctl enable --now docker

——关闭虚拟内存

swapoff -a

sed -i 's/.*swap.*/#&/' /etc/fstab

——系统内核调优

cat >> /etc/sysctl.d/kubernetes.conf<<EOF
net.ipv4.ip_forward=1
kernel.watchdog_thresh=30
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF

执行  sysctl -p

——配置docker 阿里云镜像加速(细节自行百度一下)

执行框中的命令

——docker开机重启

systemctl enable docker.service

——查看docker版本

docker --version

reboot 重启

(三)rke安装 k8s (以下操作是在rke-node1节点上,以rke用户下执行

注意:如果rke的节点有问题,要先删除,然后再添加,否则etcd会有问题

——在rke-node1上安装rke工具

# 切换rke用户

su rke

# 从github 中下载rke    https://github.com/rancher/rke/releases

#上传服务器后执行

sudo chmod +x rke_linux-amd64 && sudo  mv rke_linux-amd64 /usr/bin/rke

# 查看当前版本

rke --version

——创建rke-node1 ssh免密登录

cd

ssh-keygen          (然后一直回车)

cd .ssh

ssh-copy-id rke@rke-node1

ssh-copy-id rke@rke-node2

ssh-copy-id rke@rke-node3

——安装kubectl工具

# 下载kubectl

curl -O https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

sudo chmod +x ./kubectl

sudo mv ./kubectl /usr/local/bin/kubectl

——安装k8s

cd

#编写配置文件

vi  cluster.yml

nodes:
  - address: 10.9.1.200
    user: rke
    role:
      - controlplane
      - etcd
      - worker
  - address: 10.9.1.201
    user: rke
    role:
      - controlplane
      - etcd
      - worker
  - address: 10.9.1.202
    user: rke
    role:
      - controlplane
      - etcd
      - worker  
network:
  plugin: flannel

保存退出后执行  

rke up --config ./cluster.yml

等待……

——安装完成后

# 配置用户文件

mkdir ~/.kube

cp /home/rke/kube_config_cluster.yml ~/.kube/config

# kubectl 自动补全

# 将kubectl自动补全添加到配置文件中,可以在以后的shell中自动加载它

echo "source <(kubectl completion bash)" >> ~/.bashrc

# 若要将kubectl自动补全添加到当前shell

source <(kubectl completion bash)

(四)安装 rancher

——安装helm

# 下载对应版本

https://github.com/helm/helm/releases

#解压安装

tar -zxvf helm-v3.0.0-linux-amd64.tar.gz

sudo mv linux-amd64/helm /usr/local/bin/helm

——添加repo源

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

——创建命名空间

kubectl create namespace cattle-system

——安装

# 安装 CustomResourceDefinition 资源

kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.crds.yaml

# **重要:**
# 如果您正在运行 Kubernetes v1.15 或更低版本,
# 则需要在上方的 kubectl apply 命令中添加`--validate=false`标志,
# 否则您将在 cert-manager 的 CustomResourceDefinition 资源中收到与
# x-kubernetes-preserve-unknown-fields 字段有关的验证错误。
# 这是一个良性错误,是由于 kubectl 执行资源验证的方式造成的。

# 为 cert-manager 创建命名空间

kubectl create namespace cert-manager

# 添加 Jetstack Helm 仓库

helm repo add jetstack https://charts.jetstack.io

# 更新本地 Helm chart 仓库缓存

helm repo update

# 安装 cert-manager Helm chart

helm install cert-manager jetstack/cert-manager --namespace cert-manager  --version v1.0.4

helm install rancher rancher-latest/rancher --namespace cattle-system --set hostname=rancher.dev.com  --set replicas=1

#启动rancher

kubectl -n cattle-system rollout status deploy/rancher

#配置windows的hosts

10.9.1.200  rancher.dev.com

#在浏览器中输入  https://rancher.dev.com  打开页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值