rancher安装

1.机器准备
机器准备    硬件需求    角色

虚拟机准备
准备四台虚拟机来测试,具体部署配置信息如下表所示:
主机名    角色
k8s-rancher    管理k8s集群
k8s-master    k8s集群master节点, work节点,etcd节点
k8s-node1    k8s集群work节点, etcd节点
k8s-node2    k8s集群work节点, etcd节点

总体架构

概念:

K8s的物理架构是master/node模式:

K8s集群至少需要一个主节点(Master)和多个工作节点(Worker),Master节点是集群的控制节点,负责整个集群的管理和控制,主节点主要用于暴露API,调度部署和节点的管理。

1. Master 节点一般包括四个组件,apiserver、scheduler、controller-manager、etcd,他们分别的作用是:

 Apiserver上连其余组件,下接ETCD,提供各类 api 处理、鉴权,和 Node 上的 kubelet 通信等,只有 apiserver 会连接 ETCD。

Controller-manager控制各类 controller,通过控制器模式,致力于将当前状态转变为期望的状态。

Scheduler调度,打分,分配资源。

Etcd整个集群的数据库,也可以不部署在 Master 节点,单独搭建。

2.Node 节点一般也包括三个组件,docker,kube-proxy,kubelet

Docker:具体跑应用的载体。

Kube-proxy主要负责网络的打通,早期利用 iptables,现在使用 ipvs技术。

Kubeletagent,负责管理容器的生命周期。

1.安装docker 

1. 安装所需的软件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2  

2.设置仓库,使用阿里官方源地址:

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

3. 安装 Docker Engine-Community

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

4. 启动docker 

sudo systemctl start docker

5. 加入开机启机

sudo systemctl enable docker

  前提条件

 2.1关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

安装并启用Iptables

sudo yum install iptables-services

软件包安装完成后启动Iptables服务

sudo systemctl start iptables

 2.2 关闭 SELinux

setenforce 0

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

2.3 关闭swap:(K8S 1.8版本后必须关闭)

    swapoff -a

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

 通过free查看swap开关情况

设置主机名

hostnamectl set-hostname <hostname>

如:hostnamectl set-hostname k8s-rancher

时区配置和时间同步

sudo yum -y install ntp ntpdate

ntpdate time.windows.com

检查每台服务器的machine-id

# 检查现有id值
cat /etc/machine-id
 
# 重新生成id值
rm -f /etc/machine-id && systemd-machine-id-setup

将桥接的IPv4流量传递到iptables的链

cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF

# 加载br_netfilter模块
modprobe br_netfilter

# 查看是否加载

lsmod | grep br_netfilter

# 生效

sysctl --system

2. 安装rancher2.x

配置/etc/docker/daemon.json

tee << EOF > /etc/docker/daemon.json
{
  "registry-mirrors":["https://m9r2r2uj.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload && systemctl restart docker
sudo docker pull rancher/rancher
sudo docker run -d --restart=unless-stopped --privileged --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  rancher/rancher:stable

二、Rancher可视化管理

浏览器访问:

根据提示获取admin初始密码

 docker logs container-id  2>&1 | grep "Bootstrap Password:" 

访问地址:http://192.168.3.141

设置密码: admin/admin

设置语言: 右下角English改为“简体中文”

设置Rancher默认镜像仓库

把系统设置里面的 system-default-registry value设置为 registry.cn-hangzhou.aliyuncs.com

2..使用rancher创建k8s集群

在首页或者集群管理界面创建集群

  • 选择自定义
    在这里插入图片描述

这里我只填写了集群名称k8s-cluster,其他都是默认,然后下一步

点下一步

主节点三个全选–复制命令–在主节点执行 

从节点,选Etcd和Worker在k8s-node1和k8s-node2节点上执行下面的命令

点击完成就行了,后面还可以查看这命令

在开发环境中,如果你删除了iptables中的docker链,或者iptables的规则被丢失了(例如重启firewalld),docker就会报iptables error例如:iptables: No chain/target/match by that name

解决办法:

重启docker服务,之后,正确的iptables规则就会被创建出来

参考:手动快速部署 | Rancher文档

https://www.cnblogs.com/uestc2007/p/15598527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值