`

RancherV2.5.10+K8S部署文档

    博客分类:
  • K8S
 
阅读更多

1. RancherV2.5.10+K8S部署文档

 

作者 版本 修改内容 发布日期

 

一. 环境说明

1. rancher简介

Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。 rancher1.x 支持docker compose、swarm、kubernates等集成,镜像名为rancher/server。

rancher2.15支持kubernates,镜像名为rancher/rancher。

 

2.环境部署说明

主机名 IP地址 系统版本 内核版本

kmaster01 10.82.232.39 CentOS7.4 3.10.0-693.el7.x86_64

knode01 10.82.232.42 Centos7.4 3.10.0-693.el7.x86_64

 

3.软件版本

软件名 版本 安装方式 安装主机

docker V19.3.9 源码安装 所有机器

k8s v1.18.20 rancher拉取镜 所有主机

 

二. 服务部署

1. 安装DOCKER

基础环境准备

# 创建目录 (根据磁盘大小创建目录)

mkdir -p /app/appdeploy

 

# 下载docker安装包

cd /app/appdeploy 

https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

 

# 解压

tar -xf  docker-19.03..9.tgz

 

# 复制执行文件

 

cp /app/appdeploy/docker/*   /usr/bin/

 

# 验证安装版本

 

docker --version

 

 

 

配置systemd启动

vim /usr/lib/systemd/system/docker.service

 

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

[Service]

Type=notify

ExecStart=/usr/bin/dockerd

ExecReload=/bin/kill -s HUP $MAINPID

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

TimeoutStartSec=0

Delegate=yes

KillMode=process

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

[Install]

WantedBy=multi-user.target

 

#执行启动

systemctl daemon-reload

systemctl restart docker

systemctl enable docker

 

DOCKER基础配置

 

# 配置docker镜像源

vim /etc/docker/daemon.json

 

{

  "registry-mirrors": ["https://97bsbqhh.mirror.aliyuncs.com"],

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

  "data-root": "/app/appdeploy/docker/data" 

}

 

 

# 创建docker数据存储目录(避免docker过大引起默认路径空间不够)

 

mkdir -p /app/appdeploy/docker/data

 

 

# 重启docker

systemctl daemon-reload

systemctl restart docker

 

# 配置docker公司私有镜像源

docker login 10.82.244.40

 

注: 提示账号密码地方,输入自己的工号及密码

 

 

2. 基础镜像部署到私有仓库

Rancher 镜像导入

# 由于公司服务器没有网络,需要先在自己本地虚拟机里面把所有镜像拉下来

1. 下载rancher需要的镜像列表及脚本 (官方已提供)

https://github.com/rancher/rancher/releases/download/v2.5.10/rancher-images.txt

https://github.com/rancher/rancher/releases/download/v2.5.10/rancher-save-images.sh

https://github.com/rancher/rancher/releases/download/v2.5.10/rancher-load-images.sh

 

2. 本地虚拟机使用脚本拉取镜像,以上三个文件同一个目录下

sh rancher-save-images.sh --image-list rancher-images.txt

 

注: 时间会很长,拉取有150多个镜像,保存完成以后会生成一个 rancher-images.tar.gz 

 

3.把生成的镜像上传到kmatser机器(rancher-images.tar.gz)

 

注: 由于内网不能直接上传,需使用公司提供的ftp上传下载,方式如下:

 

## 公司内网FTP 使用方式

http://ftwk.sf-express.com/bin/view/IT%E5%9F%BA%E7%A1%80%E6%9E%B6%E6%9E%84/%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/%E6%AD%A6%E6%B1%89%E7%BD%91%E7%BB%9C%E9%97%B4%E6%95%B0%E6%8D%AE%E4%BC%A0%E8%BE%93%E8%A7%84%E5%88%99%E4%B8%8E%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95/

 

4. 在kmaster机器加载镜像

docker load -i rancher-images.tar.gz

 

# 导入完毕以后,查看镜像

docker  image ls

 

# 查看镜像中是否包含flannel-0.15.1版本及rke-1.75版本,如果没有自行下载导入

docker load -i flannel_v0.15.1.tar 

docker load -i  rke-tools_v1.75.tar

 

 

推送rancher 镜像到私有仓库

1. 登录http://10.82.244.40/harbor/sign-in ,使用自己的工号及密码

2. 创建公共镜像仓库rancher

3. 编写传送脚本

cat rancher-push-images.sh

#!/bin/bash 

## 镜像上传说明

# 须要先在镜像仓库中建立 rancher 项目

# 根据实际状况更改如下私有仓库地址

 

# 定义日志

workdir=`pwd`

log_file=${workdir}/sync_images_$(date +"%Y-%m-%d").log

 

logger()

{

    log=$1

    cur_time='['$(date +"%Y-%m-%d %H:%M:%S")']'

    echo ${cur_time} ${log} | tee -a ${log_file}

}

 

images_hub() {

 

    while true; do

        read -p "输入镜像仓库地址(不加http/https): " registry

        read -p "输入镜像仓库用户名: " registry_user

        read -p "输入镜像仓库用户密码: " registry_password

        echo "您设置的仓库地址为: ${registry},用户名: ${registry_user},密码: xxx"

        read -p "是否确认(Y/N): " confirm

 

        if [ $confirm != Y ] && [ $confirm != y ] && [ $confirm == '' ]; then

            echo "输入不能为空,从新输入"

        else

            break

        fi

    done

}

 

images_hub

 

echo "镜像仓库 $(docker login -u ${registry_user} -p ${registry_password} ${registry})"

 

images=$(docker images -a | grep -v TAG | awk '{print $1 ":" $2}')

namespace=rancher

 

docker_push() {

    for imgs in $(echo ${images}); do

        n=$(echo ${imgs} | awk -F"/" '{print NF-1}')

        #若是镜像名中没有/,那么此镜像必定是library仓库的镜像;

        if [ ${n} -eq 0 ]; then

            img_tag=${imgs}

            #namespace=rancher

            #重命名镜像

            docker tag ${imgs} ${registry}/${namespace}/${img_tag}

            #删除原始镜像

            #docker rmi ${imgs}

            #上传镜像

            docker push ${registry}/${namespace}/${img_tag}

        #若是镜像名中有一个/,那么/左侧为项目名,右侧为镜像名和tag

        elif [ ${n} -eq 1 ]; then

            img_tag=$(echo ${imgs} | awk -F"/" '{print $2}')

            #namespace=$(echo ${imgs} | awk -F"/" '{print $1}')

            #重命名镜像

            docker tag ${imgs} ${registry}/${namespace}/${img_tag}

            #删除旧镜像

            #docker rmi ${imgs}

            #上传镜像

            docker push ${registry}/${namespace}/${img_tag}

        #若是镜像名中有两个/,

        elif [ ${n} -eq 2 ]; then

            img_tag=$(echo ${imgs} | awk -F"/" '{print $3}')

            #namespace=$(echo ${imgs} | awk -F"/" '{print $2}')

            #重命名镜像

            docker tag ${imgs} ${registry}/${namespace}/${img_tag}

            #删除旧镜像

            #docker rmi ${imgs}

            #上传镜像

            docker push ${registry}/${namespace}/${img_tag}

        else

            #标准镜像为四层结构,即:仓库地址/项目名/镜像名:tag,如不符合此标准,即为非有效镜像。

            echo "No available images"

        fi

    done

}

 

docker_push

 

 

4. 执行脚本推送

sh rancher-push-images.sh rancher

注: 推送完成可以去镜像仓库看到镜像

 

3.安装RANCHER

安装rancher

# Kmater 机器安装

 

mkdir -p /app/appdeploy/rancher/

 

docker run -d --privileged  --restart=unless-stopped -p 8880:80 -p 8843:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=10.82.244.40 -e CATTLE_SYSTEM_CATALOG=bundled -v /app/appdeploy/rancher/rancher:/var/lib/rancher -v /app/appdeploy/rancher/auditlog:/var/log/auditlog 10.82.244.40/rancher/rancher:v2.5.10

 

 

# 完成安装以后浏览器输入登录

https://10.82.232.39:8843/

 

# 登录界面设置密码选择集群模式(由于公司google浏览器登录有问题,请使用edge)

 

# 创建集群sftest (并配置为仓库为私有仓库)

 

安装K8S

# 安装kmaster节点

 

选择集群-Registration Cmd->(勾选所有) -> 复制执行命令

 

在kmaster节点上执行:

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  10.82.244.40/rancher/rancher-agent:v2.5.10 --server https://10.82.232.39:8843 --token 5dkz8p6zqtbw2bblts594tcwzz5259rglzjc88gzvspzcs4wjhwrzx --ca-checksum c20103b4e741187ddc5f089f48a6a1fe7807b7c2d7a90c7154a7d7516c7606b4 --etcd --controlplane --worker                

 

# 安装work节点

选择集群-Registration Cmd->(勾选所有) -> 复制执行命令

在knode节点上执行:

sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  10.82.244.40/rancher/rancher-agent:v2.5.10 --server https://10.82.232.39:8843 --token 5dkz8p6zqtbw2bblts594tcwzz5259rglzjc88gzvspzcs4wjhwrzx --ca-checksum c20103b4e741187ddc5f089f48a6a1fe7807b7c2d7a90c7154a7d7516c7606b4 --worker                

 

等待安装完成,可以看到正常节点

 

 

分享到:
评论

相关推荐

    Struts2.5.10+Spring4.3.4+Hibernate5.2.4项目开发jar包

    Struts2.5.10+Spring4.3.4+Hibernate5.2.4项目开发jar包

    Struts2.5.10+Spring4.3.4+Hibernate5.2.4整合所需要的jar包

    Struts2.5.10+Spring4.3.4+Hibernate5.2.4整合所需要的jar包,包括xml配置方式和annotation配置方式所需要的jar包,本人已确认过,搭建起来实现简单的增删改查没有问题。本人也在学习阶段,若有问题请留言,互相学习...

    Eclipse搭建SSH(Struts2.5.10+Spring4.3.7+Hibernate5.2.9)Demo

    这个"Eclipse搭建SSH(Struts2.5.10+Spring4.3.7+Hibernate5.2.9)Demo"是一个实践教程,帮助开发者了解如何在Eclipse集成开发环境中配置和使用这三个框架的最新版本。下面将详细讲解SSH框架的组成部分以及它们之间的...

    appserv(2.5.10)php+apache+mysql安装包

    AppServ 是 PHP 网页架站工具组合包,作者将一些网络上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ 所包含的软件有:Apache、Apache Monitor、PHP、MySQL、phpMyAdmin等. ...

    appserv2.5.10推荐初学者配置php+mysql+apache,64位可用

    “jb51.net”可能是指一个网络资源,可能是下载Appserv的来源或者包含有关Appserv的教程和帮助文档的网站。该网站可能提供了一些额外的信息,如安装指南、常见问题解答和使用技巧,对学习者来说非常有价值。 总的来...

    dubbo-admin2.5.10war

    dubbo-admin-2.5.10war包,直接部署在tomcat上,就能访问dubbo后台管理页面

    dubbo-admin-2.5.10

    【描述】在部署"**dubbo-admin-2.5.10**"时,需要注意以下步骤: 1. **环境要求**:首先,你需要一个符合最低要求的Java开发环境,即JDK 1.7。这是运行Dubbo Admin所必需的,因为此版本可能不支持更高版本的JDK,...

    appserv-win32-2.5.10安装包

    本文将详细介绍如何安装和配置Appserv-win32-2.5.10版本,以及在其中进行基本的网站部署。 一、Appserv安装步骤 1. 下载Appserv-win32-2.5.10安装包:首先,你需要从官方网站或可信的第三方资源下载Appserv-win32-...

    appserv win32-2.5.10

    【标题】"appserv win32-2.5.10"指的是Appserv在Windows 32位系统上的一个特定版本,即2.5.10。Appserv是一款开源的Web服务器集成包,它集成了Apache、PHP、MySQL等组件,方便用户在本地计算机上快速搭建网站开发...

    dubbo_admin_2.5.10.war

    所上传的资源为dubbo-admin-2.5.10war包,下载解压后将war包放在Tomcat的Webapp下,启动Tomcat,地址栏输入http://localhost:8080/dubbo-admin-2.5.10/,即可启动项目(观察provider跟consumer,本资源用于学习和...

    dubbo-admin-2.5.10.zip

    3. `dubbo-admin-2.5.10.war`:这是一个Web应用程序归档(Web Application Archive)文件,通常用于部署到Servlet容器,如Tomcat或Jetty。这个WAR文件包含了运行Dubbo Admin所需的所有资源,包括HTML、CSS、...

    CXF2.5.10完整架包

    总的来说,CXF2.5.10是一个全面的Web服务框架,它提供了一整套工具和服务开发、部署和维护的解决方案,适用于各种规模和复杂度的企业级应用。通过理解并熟练掌握CXF,开发者可以构建高效、可扩展且易于维护的Web服务...

    struts-2.5.10

    Struts 2.5.10 是一个基于Java的开源框架,主要用于构建企业级Web应用程序。这个版本的Struts提供了许多关键特性和改进,旨在提高开发效率、代码质量和安全性。Struts 2是Apache软件基金会旗下的一个项目,它是对...

    dubbo-dubbo-2.5.10.zip

    【标题】"dubbo-dubbo-2.5.10.zip" 提供的是 Dubbo 框架的一个老版本——2.5.10 的源码。Dubbo 是阿里巴巴开源的一款高性能、轻量级的 Java 分布式服务框架,旨在提高微服务间的通信效率,并提供服务治理的能力。 ...

    Proxy SwitchyOmega最新2.5.10

    Proxy SwitchyOmega最新2.5.10,Proxy SwitchyOmega最新2.5.10

    appserv-win32-2.5.10

    标题“appserv-win32-2.5.10”指的是一个特定版本的Apache AppServ Web服务器软件,专为32位Windows操作系统设计。AppServ是一个集成的Web开发环境,它集成了Apache HTTP服务器、PHP编程语言、MySQL数据库管理系统和...

    dubbo-admin-2.5.10.war.zip

    在具体操作上,`dubbo-admin-2.5.10.war`文件是一个预打包的Web应用,可以直接部署到任何支持Servlet容器(如Tomcat)的服务器上。部署后,用户可以通过浏览器访问控制台,进行上述各项服务管理操作。 总结起来,...

    struts2-core-2.5.10.jar

    struts2-core-2.5.10.jar ,struts核心包,struts2-core-2.5.10.jar

    dotproject2.1.5+appserv2.5.10

    1.appserv最新版本2.5.10 2.dotproject最新版本2.1.5 3.官方现在dotproject,汉化包,甘特图和日历汉化乱码,上传dotproject已解决乱码问题,已测试过 4.有问题请联系我

Global site tag (gtag.js) - Google Analytics