centos7系统部署rancher2.x,并创建k8s集群(代码片段)

author author     2023-04-12     343

关键词:

前言

一 本文目标:

1、部署rancher-server UI,版本:2.3.5
2、通过rancher部署一个k8s集群crystal-cluster
3、在k8s集群crystal-cluster上部属nginx实例

二 部署的几个前提:

1、按照官方的要求,选择rancher版本对应支持的系统版本和docker版本;
2、安装ntp,保证每一台服务器之间的时间同步,否则可能会出现证书验证错误的问题;
3、关闭防火墙和selinux。(如果要开启防火墙,那么要在防火墙放行rancher所需的端口,最好再检查一下默认的防火墙规则,保证服务器与Helm( Kubernetes 的软件包管理工具)的通信)
4、所有节点服务器分配静态IP,并且应该保留一个DHCP,以确保分配给节点的IP是相同的。
5、所有节点的hostname注意不要带下划线"_"。
(以上内容详细要求见官网链接:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/

三 本次实验环境描述

系统版本:CentOS Linux release 7.7.1908 (Core)
docker版本:18.06.2-ce
rancher-server版本:2.3.5(当前最新版)
主机分配及配置:

hostname IP rancher角色 系统配置(cpu/mem) kubernets集群角色
test102 10.0.0.102 rancher-server 1C/1G
test103 10.0.0.103 rancher-node1 1C/2G etcd、Control Plane、Work
test104 10.0.0.104 rancher-node2 1C/1G Work

四 环境准备

1、yum默认安装的版本是13版本,将docker升级到18.06.2-ce版本:

1)保证内核版本在3.10及以上:uname -a 
2)删除旧版本:yum remove -y docker docker-common docker-selinux docker-engine #这一步骤在初次安装docker也最好执行一次,否则后面安装docker可能会报错
3)安装需要的软件包:yum install -y yum-utils device-mapper-persistent-data lvm2
4)设置Docker yum源:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5)查看所有仓库中所有docker版本:yum list docker-ce --showduplicates | sort -r
6)安装docker:yum -y install docker-ce-18.06.2.ce-3.el7
7)设置为开机启动:systemctl enable docker
8)启动:systemctl start docker
9)查看启动状态:systemctl status docker
10)查看版本:docker version

2、给docker配置阿里源加速器:
1)创建/修改配置文件/etc/docker/daemon.json

[root@test102 ~]# cat /etc/docker/daemon.json     #这个文件可能不存在,需要新创建,然后写入下列内容

  "registry-mirrors": ["https://fzhifedh.mirror.aliyuncs.com"]

[root@test102 ~]# 

2)重新加载新修改的配置,重启docker

systemctl daemon-reload 
systemctl restart docker

3、安装ntp,确保服务器时间同步:

yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-ntp yes
ntpdate -u cn.pool.ntp.org
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime   
watch -n 1 ‘date‘

环境部属

1 rancher server部署

1.1 命令:
# docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /data/rancher/ranchermaster:/var/lib/rancher rancher/rancher:latest
技术图片
1.2 端口说明:
技术图片

1.3 等到容器起来,就能访问了:
技术图片

1.4 通过IP+端口(https://10.0.0.102/)去访问并配置admin用户的密码
技术图片

1.5 密码配置好之后,跳转到配置rancher-server的URL地址。这里可以用公网IP/内网IP,只要保证其他的rancher-node能通过这个URL访问到rancher-server即可。如果没有特殊的网络原因,最好用内网IP:
技术图片

1.6 点击“Save URL”,跳转到rancher-server首页。左下角可以看到当前rancher-server版本号,右下角可以切换语言,然后就能创建集群,尽情的玩耍了:
技术图片

2 创建自定义k8s集群crystal-cluster并添加两个node节点

2.1 点击右上角“Add Cluster”按钮创建集群:
技术图片

2.2 可以选择创建自定义集群,也可以选择导入集群。这里是创建一个全新的集群,因此选择自定义(Custom):
技术图片

2.3 开始配置集群相关信息:
技术图片

以上配置说明:
Cluster Name:填写集群名称(crystal-cluster)
Member Roles:配置访问该集群的用户,及每个用户对集群的操作权限,
Label & Annotations:为集群配置标签和注释,按需配置。
Kubernetes Options:
—>Kubernetes Version:选择kubernets版本
—>Network Provider:选择需要的网络驱动
—>Project Network Isolation:配置namespace之间的网络隔离
—>Cloud Provider:选择云提供商。本文采用VMware虚拟机部署,默认选择无
Private Registry:配置私有镜像仓库
Advanced Options:配置自定义集群参数,按需配置。
Authorized Endpoint:配置授权访问地址
以上参数均能根据页面的提示和自己的需求做出相应的配置,本文实验除了Cluster Name之外,其余均选择了默认配置。

2.4 然后点击"Next",到下一步添加主机命令,选择主机角色:
(选择主机角色,端口放行参考: https://rancher.com/docs/rancher/v2.x/en/installation/references/)

角色选择:每台主机可以运行多个角色。每个集群至少需要一个Etcd角色、一个Control角色、一个Worker角色
选择好角色后,下面的代码框会根据选择的角色生成对应的主机命令,然后将命令复制到node主机上运行(注意node节点是否已经安装好支持版本的docker,并且docker处于running的状态)。
技术图片

2.5 选好角色后,将命令复制到node节点部署:
test103(10.0.0.103),运行etcd、Control Plane、Work角色。因此,在test103执行这条命令:
技术图片

注意:如果你也选择在某个节点上部署三个角色,那么内存最小都必须要大于2G,1G内存虽然能起来,但是集群活不长就会挂掉,不要问我怎么知道的

这一步需要安装的组件很多,需要耐心多等一会儿。组件在安装时,rancher-server能看到下面这个提示:
技术图片

继续添加第二个节点了。
在test104(10.0.0.104)上运行work这一个角色,因此,在test104上运行这条命令:
技术图片

2.6 点击“Done”按钮,回到主页,查看集群详情:
技术图片

点击上图中的“2”进去这个界面,可以看到刚刚加进来的两台node节点分别的State、hostname、IP、Roles等等信息
下图标注的几个地方:
1、edit:可以对主机进行编辑,给主机设置别名,如:测试机104
2、Delete:可以删除该主机
3、Edit Cluster:点击这个按钮,回到刚刚创建主机的界面编辑集群。需要添加新的节点也能从这里进去找到添加主机命令

技术图片

点击左上角的集群名称,可以看到对应集群的仪表盘信息:
技术图片

至此,集群添加完毕。

3 在crystal-cluster集群下创建project和namespace

3.1 创建project:
为应用更好的管理,rancher在kubernetes的namespace上封装projects的概念,一个projects可以包含多个namespace,先添加一个project。
3.1.1 点击Projects/Namespace,进入创建project界面:
技术图片

3.1.2 点击右上角“Add Project”:
技术图片

3.1.3 填写Project Name,点击Create创建一个叫“crystal-cluster-project”的project:
(至于下面的成员信息、资源配额,容器限制、标签等配置,这里没有配置。页面提示很详细,可以按需配置)
技术图片

然后在projects-namespaces这个页面的末尾,就能看到刚刚创建的project了。

3.2 创建Namespace:
3.2.1 根据前面的命名规则,再点击“Add Namespace”创建一个叫“crystal-cluster-project-namespace”的namespace:
技术图片

3.2.2 跟创建project一样,这里只填写name,其余配置默认(Container Default Resource Limit这个容器资源限制,在正式环境建议设置,减少OOM风险):
技术图片

在projects-namespaces界面,就能看到刚刚创建的namespace:
技术图片

4 部署nginx实例

4.1 首先进入刚刚创建的project:
技术图片

4.2 点击右上角的“Deploy”,开始部署:
技术图片

4.3 填写好Name、Docker Image、Port Mapping等相关的部署信息:
填写完整相关信息,点击launch部署:
后面方框中的环境变量、主机调度、健康检查、数据卷、缩放/升级策略在真实环境中非常有用,功能跟rancher1类似,这里默认,不赘述。
技术图片

之后跳转到这个页面,看到状态变成active了,就部属成功了:
技术图片

在详情界面能看到这个应用的相关配置,也能进行扩缩容:
技术图片

4.4 访问验证:
通过nginx的IP+端口,访问验证功能:
技术图片
技术图片

至此。本文完!

写在末尾:

1、rancher在管理docker挺实用的,更新换代还算比较快。之前部署过rancher2.1.1,界面和2.3.5还是有一些差别。
2、本文属于记录简单入门操作的小白笔记,更多的功能说明和理论,可以查看rancher官网和k8s相关官网说明。
3、最后,不管是环境差异还是别的因素,按照这个方案部署可能会遇到坑,那就爬吧!
加油!

k8s部署rancher2.x版本(代码片段)

Rancher介绍Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。Kubernetes不仅已经成为的容器编排标准,它也正在迅... 查看详情

容器部署springcloud项目

...文章,本文则不再赘述了:Docker化你的SpringBoot项目安装Rancher2.x并部署工作负载在eureka项目的根目录中,创建一个Dock 查看详情

docker决战到底rancher2.x的安装与使用-简书

原文:Docker决战到底(三)Rancher2.x的安装与使用-简书image.png当越来越多的容器化应用被部署,一个可以管理编排这些容器的工具此时就显得尤为重要了。目前容器编排领域的佼佼者非kubernates莫属了,但我一直没有来得及上手,可能... 查看详情

如何将rancher2.1.x从单节点安装迁移到高可用安装(代码片段)

...。单节点安装可以让用户快速部署适用于短期开发或PoC的Rancher2.x,而高可用部署则明显更适合Rancher的长期部署。  要点须知 针对开源用户,对于从单个节点迁移到HA的工作,RancherLabs不提供官方技术支持。 以防在... 查看详情

docker部署hadoophbase环境(centos7系统)(代码片段)

目录一、安装docker1.下载离线包2.解压3.将解压后的文件夹复制到/usr/local目录4.将docker注册为系统service5.启动docker服务6.查看docker运行状态7.设置开机启动8.拉取docker镜像(Ubuntu系统)9.创建并运行一个容器二、docker部署hadoop... 查看详情

centos7部署jar包开机自启

参考技术A在部署zhihudemo时,没有用Jenkins这种自动化部署工具,在linuxcentos中部署jar包项目时遇到一个坑,通过xshell远程连接服务器,在系统中使用“java-jar”命令启动jar包时,输出日志会占据当前终端页面,如果关闭终端窗口的... 查看详情

docker决战到底rancher2.x的安装与使用

...her来作为容器编排管理的切入点了,只是我这里采用的是rancher2.15版本。非常意外的是,以前rancher1.6版本还支 查看详情

centos7部署zabbix

...以让系统管理员快速定位/解决存在的各种问题。下面是Centos7上yum安装 查看详情

安装符合rancher2.x要求的docker

安装符合rancher2.x要求的docker待办https://rancher.com/docs/rancher/v2.x/en/installation/requirements/installing-docker/ 查看详情

rancher2.x+k3s单机搭建

参考技术A先给系统换换源,编辑sources.list将文件内容替换为一下内容更新现有的包列表:接下来,安装一些允许apt使用包通过HTTPS的必备软件包:然后将官方Docker存储库的GPG密钥添加到您的系统:再更新一下安装我们的主角docker... 查看详情

centos7单机部署open-falcon监控

   对于Open-Falcon系统的部署,研究了一段时间才部署成功,文档主要部署的为v0.2.1版本,参考官网文档。关于该监控系统的部署分为三个部分,一、环境准备;二、启动后端;三、安装前段。一、环境准备  &nbs... 查看详情

rancher2.4.3stable!正式支持中国区eks托管服务

2020年4月1日,Rancher2.4正式发布,这是Rancher2.x极为重要的里程碑版本。Rancher2.4的全新特性包括边缘计算部署场景的延展性、零宕机升级集群、安全性增强以及全新的托管选项,为用户提供从数据中心到云端到边缘的海量Kubernetes... 查看详情

docker部署lnmp-wordpress(代码片段)

...运行4、启动服务5、数据库授权一、实验环境系统:centos7ip:192.168.238.13 查看详情

centos7安装部署openstack--glance镜像服务

一、服务概述  镜像服务(glance)允许用户发现、注册和获取虚拟机镜像。它提供了一个 REST API,允许您查询虚拟机镜像的metadata并获取一个现存的镜像。您可以将虚拟机镜像存储到各种位置,从简单的文件系统到对象存... 查看详情

创建ext4文件系统,并自动挂载(代码片段)

实验环境如下:[root@Centos7~]#uname-r3.10.0-693.el7.x86_64[root@Centos7~]#cat/etc/redhat-releaseCentOSLinuxrelease7.4.1708(Core)[root@Centos7~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0050G0disk├─sda18:10 查看详情

centos7环境下部署svn并实现自动更新(版本库放在tomcat下)(代码片段)

1、安装SVN1.1先检查是否有安装svnrpm-qasubversion#没有什么显示就说明没有安装过yumremovesubversion#如果有安装就运行删除老版本yuminstallsubversion#运行安装SVN1.2创建SVN版本库(这里我们直接部署到Tomcat/webapps下,如果没有可以自行部署... 查看详情

centos7docker部署gitlab

创建文件夹mkdirgitlab/config,data,logs执行命令运行并创建容器dockerrun-d--restartalways-p4443:443-p8888:80-p2222:22 -v/gitlab/config:/etc/gitlab-v/gitlab/data:/var/opt/gitlab -v/gitlab/logs:/var/log/gitlab 查看详情

centos7安装部署imagemagick(代码片段)

Centos7安装部署ImageMagick系统信息#cat/etc/redhat-releaseCentOSLinuxrelease7.5.1804(Core)安装基础包#yuminstall-ylibjpeg*libpng*libtiff*libungif*freetypezlibImageMagick介绍ImageMagick是一个用于创建、编辑、组合或转换位图图像的软件套件。它可以读写各种 查看详情