在RancherOS上安装Rancher Server

总览

RancherOS是一个非常轻巧的操作系统(仅约60 MB),它运行PID 0用于运行系统服务(网络,控制台访问等)的“系统” Docker守护进程,以及运行非系统运行的“用户” Docker守护进程。系统容器(MySQL,Rancher等)。

Rancher是一个容器运行的编排平台,用于管理容器以及基础架构的更广泛方面,例如主机,环境等。由Rancher服务器控制业务流程,并且将Rancher代理部署到由Rancher管理的每个主机。

在本文中,我们将通过以下步骤来部署Rancher服务器:

  • Cloud-init script -发布cloud-init文件以安装和运行Rancher服务器。
  • PXE script -编写PXE脚本以检索cloud-init文件并首次启动主机。
  • Firewall -创建防火墙组,因为安全至关重要。
  • Start it up -供应主机并安装Rancher。

要求

  • 至少具有1 GB RAM的VPS-我们将在此主机上安装Rancher服务器。
  • 块存储-永久存储Rancher服务器的数据,配置,用户等。
  • 1保留的IP地址-为Rancher代理提供一致的IP以用于加入Rancher环境。

云初始化脚本

将以下脚本保存到主机可通过的位置,HTTP/HTTPS以便它可以从其PXE脚本中引用它。

ssh-...SSH公钥替换部件,以便可以通过SSH进入主机。

#cloud-config
ssh_authorized_keys:
  - ssh-...

write_files:
  - path: /cloud-config.yml
    permissions: "0700"
    owner: root
    content: |
      #cloud-config
      ssh_authorized_keys:
        - ssh-...

      mounts:
       - ["/dev/vdb1", "/mnt", "ext4", ""] 

      rancher:
        services:
          rancher-server:
            image: rancher/server:stable
            ports:
              - 8080:8080
            restart: always
            volumes:
              - /mnt/rancher-server-mysql:/var/lib/mysql
  - path: /opt/rancher/bin/start.sh
    permissions: "0700"
    owner: root
    content: |
      #!/bin/bash
      echo y | ros install -f -c /cloud-config.yml -d /dev/vda

请注意,这实际上是cloud-config.yml在另一个内部种植cloud-config.yml。当iPXE首次引导主机时,将加载外部驱动器,它将Rancher安装到主机的驱动器上/dev/vda。内部配置用于后续启动,并且实际上将启动Rancher服务器。

MySQL数据存储在块存储中/dev/vdb,因此重要的Rancher服务器数据和配置可以在替换VPS主机后幸免。

您可以将脚本上传到可以作为URL公开访问的任意数量的免费位置,也可以将其托管在其他VPS上,以便主机只能通过专用网络对其进行访问。

PXE脚本

将以下内容复制为名为“ Rancher Server” 的PXE启动脚本,同时替换CLOUD_CONFIG_URLcloud-config.yml文件的URL (类似https://example.com/cloud-config.yml)。

#!ipxe

# Location of Kernel/Initrd images
set base-url https://releases.rancher.com/os/latest

kernel ${base-url}/vmlinuz rancher.state.dev=LABEL=RANCHER_STATE -- rancher.cloud_init.datasources=[url:CLOUD_CONFIG_URL]

initrd ${base-url}/initrd

boot

这将提取最新的RancherOS ISO并使用cloud-init脚本将其引导到内存中。然后,您的cloud-init脚本将继续将RancherOS安装到磁盘,并且第二次引导将运行Rancher服务器容器。

防火墙功能

当Rancher首次可用时,任何命中端点的人都将立即拥有管理员权限。

为了防止外部人员劫持您的Rancher Server,请使用以下规则创建名为“ Rancher Server”的防火墙:

  • TCP 22 在您的IP上,因此您可以SSH进入主机。
  • TCP 8080 在您的IP上,因此您可以加载Rancher服务器网页。
  • TCP 8080 适用于任何Rancher代理主机,因此它们可以向Rancher服务器注册。

启动它

在与块存储相同的区域中配置1 GB以上的主机,并将其设置Server Type为“ Rancher Server” iPXE自定义启动脚本。

一旦启动,请确保将其IP转换为保留的IP,以便您的Rancher代理拥有可以一致注册的终结点。

iPXE需要大约4分钟的时间才能拉RancherOS ISO,这是将RancherOS安装到的第一个引导/dev/vda,而第二个引导是拉rancher/server:stableDocker映像并启动其容器。

一旦启动,您将可以在到达它http://YOUR_RESERVED_IP:8080

恭喜,您已经在RancherOS上设置了Rancher服务器。

您可以重新启动实例,甚至销毁/重新安装它,块存储将保留您的数据和配置,而保留的IP将使新的Rancher代理知道在哪里可以找到您的服务器。

接下来的几个步骤:

  • Set up access control -至少要创建一个具有安全密码的本地管理员用户。
  • Add hosts-在该Add Hosts -> Custom部分中,复制包含特定于Rancher服务器的长令牌的URL。您需要用它来在服务器上注册Rancher代理。
  • Explore最新的牧场主服务器文档


Leave a Comment

在CentOS 7上使用Docker Swarm(CE)进行粘性会话

在CentOS 7上使用Docker Swarm(CE)进行粘性会话

使用其他系统?简介Docker Swarm将您的单个服务器转变为计算机集群,从而促进扩展,高可用性和扩展性。

通过iPXE安装Rancher OS

通过iPXE安装Rancher OS

Rancher OS是围绕Docker构建的非常轻量级的Linux发行版。操作系统本身的重量约为20MB。本教程将帮助您入门和运行

两种Docker图形化管理工具:DockerUI和Shipyard

两种Docker图形化管理工具:DockerUI和Shipyard

借助Vultr Docker应用程序,您可以轻松地在Vultr服务器实例上部署Docker。同时,您可以方便地进行Docker管理任务

在Ubuntu 18.04上安装Docker CE

在Ubuntu 18.04上安装Docker CE

简介Docker是一个应用程序,可让我们部署作为容器运行的程序。它是用流行的Go编程语言编写的

在CoreOS上,设置您自己的Docker注册表

在CoreOS上,设置您自己的Docker注册表

我们都知道并喜欢Docker,这是一个在多台机器上创建,管理和分发应用程序容器的平台。Docker Inc.提供服务

在Debian 9上安装Docker CE

在Debian 9上安装Docker CE

使用其他系统?简介Docker是一个允许在虚拟容器内部署软件的应用程序。它写在G

在Ubuntu 14.04上安全地部署和管理LXC容器

在Ubuntu 14.04上安全地部署和管理LXC容器

LXC容器(Linux容器)是Linux中的一种操作系统功能,可用于在单个主机上运行多个隔离的Linux系统。塞斯

如何使用Docker:创建第一个Docker容器

如何使用Docker:创建第一个Docker容器

本教程介绍了Docker入门的基础知识。我假设您已经安装了Docker。本教程中的步骤将适用于

使用Docker部署Node.js应用程序

使用Docker部署Node.js应用程序

本文将向您展示如何在Docker容器中部署Node应用程序。注意:本教程假定您已安装Docker并已阅读

Docker的负载均衡

Docker的负载均衡

在运行Web应用程序时,通常希望充分利用资源,而不必转换软件以使用多线程处理程序。

在CentOS 7上安装Rancher

在CentOS 7上安装Rancher

使用其他系统?简介Rancher是一个用于运行容器和构建私有容器服务的开源平台。牧场主是基地

CentOS 7上的Kubernetes入门

CentOS 7上的Kubernetes入门

Kubernetes是Google开发的开放源代码平台,用于跨服务器集群管理容器化应用程序。它以十年为基础

在Alpine Linux 3.9.0上创建Docker Swarm

在Alpine Linux 3.9.0上创建Docker Swarm

简介本指南将向您展示如何使用多个Alpine Linux 3.9.0服务器和Portainer创建和配置Docker群。请注意

在Debian 9上使用Docker Swarm(CE)进行粘性会话

在Debian 9上使用Docker Swarm(CE)进行粘性会话

使用其他系统?简介Docker Swarm将您的单个服务器转变为计算机集群。便于扩展,高可用性和

如何在CentOS 7上安装Harbor

如何在CentOS 7上安装Harbor

Harbor是一个开放源代码的企业级注册服务器,用于存储和分发Docker映像。Harbor扩展了开源Docker Distribution b

在CentOS 7上使用Kubeadm部署Kubernetes

在CentOS 7上使用Kubeadm部署Kubernetes

概述本文旨在帮助您立即建立Kubernetes集群并使用kubeadm运行。本指南将在以下位置部署两台服务器

使用Docker在CentOS 7上开始使用SQL Server 2017(MS-SQL)

使用Docker在CentOS 7上开始使用SQL Server 2017(MS-SQL)

前提条件Docker引擎1.8+。至少4GB的磁盘空间。至少4GB的RAM。步骤1.安装Docker为了安装SQL-Server,Docker mus

在Ubuntu 14.04上安装Docker

在Ubuntu 14.04上安装Docker

使用其他系统?Docker是一个允许部署作为容器运行的程序的应用程序。它是用流行的Go程序编写的

使用Docker-compose部署PHP应用程序

使用Docker-compose部署PHP应用程序

PHP应用程序通常由Web服务器,关系数据库系统和语言解释器本身组成。在本教程中,我们将继续学习

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。