在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

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

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 機器變磚。閱讀這篇文章以了解更多信息