rancher集群POC部署(一)

rancher集群POC部署(一),第1张

一、POC环境架构

二、Rancher基础环境

计算资源

序号

配置

内网IP

公网IP

CPU

MEM

DISK

1

4

8

根分区:20G

附加磁盘50G

192.168.1.2

xxx

2

192.168.1.5

3

192.168.1.6

4

192.168.1.7

5

192.168.1.8

网络映射:

192.168.1.2:22 ---> xxx:20002 ssh

192.168.1.2:443 ---> xxx:8443 web

192.168.1.2:80 ---> xxx:8088 web

192.168.1.5:9999 ---> xxx:9999 pigx-gateway

192.168.1.5:9980 ---> xxx:9980 pigx-ui

192.168.1.7:80    ---> xxx:8081       harbor

192.168.1.7:9200    ---> xxx:9200       es   (待添加映射)

192.168.1.7:5601    ---> xxx:9601       kibana(待添加映射)

192.168.1.8:8080 ---> xxx:8080     jenkins

192.168.1.8:80      ---> xxx:8082        gitlab

三、POC环境搭建

1. *** 作系统准备概要(centos7)

1)支持的Docker版本

1.12.6

1.13.1

17.03.2

17.06 (for Windows)

2)主机名配置

因为K8S的规定,主机名只支持包含 - 和 .(中横线和点)两种特殊符号,并且主机名不能出现重复。

3)更新Hosts

配置每台主机的hosts(/etc/hosts),添加host_ip $hostname到/etc/hosts文件中。 

 4)centos关闭selinux

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

5) 关闭防火墙(可选)或者放行相应端口

关闭防火墙

systemctl stop firewalld.service && systemctl disable firewalld.service

端口需求

查看:https://www.cnrancher.com/docs/rancher/v2.x/cn/installation/references/

 6)配置主机时间、时区、系统语言

查看时区

date -R或者timedatectl

修改时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改系统语言环境

sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile

配置主机NTP时间同步

7)Kernel性能调优(可选)

数值根据实际环境自行配置,最后执行sysctl -p保存配置。

cat >> /etc/sysctl.conf<

net.ipv4.ip_forward=1

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

8)内核模块(可选)

模块查询: lsmod | grep <模块名>
模块加载: modprobe <模块名>

br_netfilter

ip6_udp_tunnel

ip_set

ip_set_hash_ip

ip_set_hash_net

iptable_filter

iptable_nat

iptable_mangle

iptable_raw

nf_conntrack_netlink

nf_conntrack

nf_conntrack_ipv4

nf_defrag_ipv4

nf_nat

nf_nat_ipv4

nf_nat_masquerade_ipv4

nfnetlink

udp_tunnel

VETH

VXLAN

x_tables

xt_addrtype

xt_conntrack

xt_comment

xt_mark

xt_multiport

xt_nat

xt_recent

xt_set

xt_statistic

xt_tcpudp

2.Docker安装与配置

1)修改centos系统软件源

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

cat > /etc/yum.repos.d/CentOS-Base.repo << EOF

# CentOS-Base.repo

#

# The mirror system uses the connecting IP address of the client and the

# update status of each mirror to pick mirrors that are updated to and

# geographically close to the client.  You should use this for CentOS updates

# unless you are manually picking other mirrors.

#

# If the mirrorlist= does not work for you, as a fall back you can try the

# remarked out baseurl= line instead.

#

#

[base]

name=CentOS-$releasever - Base - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates

[updates]

name=CentOS-$releasever - Updates - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras - 163.com

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus - 163.com

baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

EOF

2)Docker-ce安装

# 添加用户(可选)

sudo adduser ``

# 为新用户设置密码(可选)

sudo passwd ``

# 为新用户添加sudo权限(可选)

sudo echo ' ALL=(ALL) ALL' >> /etc/sudoers

# 卸载旧版本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*

# 定义安装版本

export docker_version=17.03.2

# step 1: 安装必要的一些系统工具

sudo yum update -y

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

# Step 2: 添加软件源信息

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

# Step 3: 更新并安装 Docker-CE

sudo yum makecache all

version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}')

sudo yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version}

# 如果已经安装高版本Docker,可进行降级安装(可选)

yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version}

# 把当前用户加入docker组(可选)

sudo usermod -aG docker ``

# 设置开机启动

sudo systemctl enable docker

Docker-engine

Docker-Engine Docker官方已经不推荐使用,请安装Docker-CE

3)Docker配置

Dockerhub节点在国外,国内直接拉取镜像会有些缓慢。为了加速镜像的下载,可以给Docker配置国内的镜像地址。编辑/etc/docker/daemon.json加入以下内容,并且添加insecure-registries私有仓库

编辑/etc/docker/daemon.json加入以下内容:

cat /etc/docker/daemon.json

{"registry-mirrors": ["http://b9456c4e.m.daocloud.io"],

"insecure-registries": ["192.168.1.7"],

    "log-driver": "json-file",

    "log-opts": {

    "max-size": "100m",

    "max-file": "3"

    },

    "max-concurrent-downloads": 10,

    "max-concurrent-uploads": 10,

    "storage-driver": "overlay2",

    "storage-opts": [

    "overlay2.override_kernel_check=true"

    ]

}

3.Rancher安装(在线)

1)独立容器安装,使用默认自签名证书

默认情况下,Rancher会自动生成一个用于加密的自签名证书。从你的Linux主机运行Docker命令来安装Rancher,而不需要任何其他参数:

docker run -d --restart=unless-stopped \

-p 80:80 -p 443:443 \

-v /root/var/log/auditlog:/var/log/auditlog \

-e AUDIT_LEVEL=3 \

rancher/rancher:latest

2)访问rancher页面

用浏览器(非IE)打开Rancher Server所在主机IP的80端口, 并设置admin默认密码

 3)创建集群

版本选择最新版,网络选择canal,创建集群

 选择custom

 新建一个叫mycluster的集群,k8s版本选择:v1.12.3

 

 

 将rancher server的默认访问地址修改成如下:

 

 修改集群的端口映射范围:

来到集群级别,然后点击最右边三个点的按钮,编辑:

 

 找到“显示高级设置”,修改NodePort端口范围: 8000-9999

 保存

4)添加节点角色

 选择好主机角色,然后复制生成的命令,在待部署节点上执行此命令,部署此rancher节点,并加入集群:

下边安装1个etcd+control节点和2个worker节点:

安装过程需要下载docker image和配置过程,等待时间稍长。

 Rancher2: etcd/control/worker

 

 Rancher1:worker

 

 Rancher3:worker

如果不成功可以尝试重试,漫长的等待之后: 

4.监控系统安装概要

        监控系统架构

通过cadvisor获取container的数据

通过node export获取宿主机数据

prometheus只做数据处理和数据分析功能

prometheus的alertmanager做告警功能

grafana做数据展示

 1)监控部署监控

rancher2.0.2应用商店有现成写好的prometheus,集成了cadvisor、nodexport、kubestatemetrics、alertmanager, *** 作过程详见截图:

      启动应用商店:

 

     应用商店选择libary,搜索到Prometheus:

 

 点击‘查看详情’,开始配置:

 

 

 关闭l7,prometheus service-type修改为NodePort

 配置grafana admin的密码,关闭L7 loadBlance

 

 因为KubeStateMetrics和grafana-watcher这两个组件的image是从国外镜像仓库拉取国内环境下载不了所以需要我们提前将镜像pull好,然后在通过下面命令修改镜像地址。这里为了方便将pv和pvc创建都false了,生产环境部署需要将prometheus和grafana的监控数据持久化到pv核pvc上这样更可靠。

 

2)通过上述端口访问prometheus和grafana

 

5.日志收集系统安装

1)设置内核参数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/926679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存