RancherOSにRancherサーバーをインストールする

概観

RancherOSは非常に軽量なオペレーティングシステム(約60 MB)であり、PID 0システムサービス(ネットワーク、コンソールアクセスなど)の実行と同様に「システム」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エージェントに、Rancher環境への参加に使用する一貫したIPを提供します。

cloud-initスクリプト

次のスクリプトを、HTTP/HTTPSPXEスクリプトから参照できるように、ホストから到達可能な場所に保存します。

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_URLのURL cloud-config.yml(など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をディスクにインストールし、2回目の起動でRancherサーバーコンテナーが実行されます。

ファイアウォール

Rancherが最初に利用可能になったとき、エンドポイントにヒットした人は誰でもすぐに管理者特権を持ちます。

部外者によるRancherサーバーの乗っ取りを防ぐには、次のルールで「Rancher Server」というファイアウォールを作成します。

  • TCP 22 あなたのIP上で、あなたはホストにSSHすることができます。
  • TCP 8080 Rancherサーバーのウェブページを読み込むことができるように、IP
  • TCP 8080 Rancherエージェントホストの場合は、Rancherサーバーに登録できます。

起動して

ブロックストレージと同じリージョンに1 GB以上のホストをプロビジョニングServer Typeし、「Rancher Server」iPXEカスタム起動スクリプトに設定します。

起動したら、必ずIPを予約済みIPに変換して、Rancherエージェントが一貫して登録できるエンドポイントを持つようにします。

iPXEがRancherOS ISOをプルするのに最大4分かかります。最初のブートでRancherOSをにインストール/dev/vdaし、2番目のブートで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最新のランチャーサーバのマニュアル

Ubuntu 18.04にDocker CEをインストールする

Ubuntu 18.04にDocker CEをインストールする

はじめにDockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のあるGoプログラミング言語で書かれました

Ubuntu 14.04へのDockerのインストール

Ubuntu 14.04へのDockerのインストール

別のシステムを使用していますか?Dockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のある囲碁programminで書かれました

Dockerを使用してNode.jsアプリケーションをデプロイする

Dockerを使用してNode.jsアプリケーションをデプロイする

この記事では、Dockerコンテナー内にノードアプリケーションをデプロイする方法を示します。注:このチュートリアルでは、Dockerがインストールされており、

Alpine Linux 3.9.0でDocker Swarmを作成する

Alpine Linux 3.9.0でDocker Swarmを作成する

はじめにこのガイドでは、複数のAlpine Linux 3.9.0サーバーとPortainerを使用してDockerスウォームを作成および構成する方法について説明します。ご注意ください

CentOS 7にHarbourをインストールする方法

CentOS 7にHarbourをインストールする方法

Harbourは、Dockerイメージを格納および配布するオープンソースのエンタープライズクラスのレジストリサーバーです。HarbourはオープンソースのDockerディストリビューションを拡張しますb

CentOS 7でKubernetesを使ってみる

CentOS 7でKubernetesを使ってみる

Kubernetesは、サーバーのクラスタ全体でコンテナ化されたアプリケーションを管理するためにGoogleが開発したオープンソースのプラットフォームです。それは10年に基づいて構築され、

Ubuntu 16.04にRancherをインストールする

Ubuntu 16.04にRancherをインストールする

別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース

CentOS 7にKubeadmを使用してKubernetesをデプロイする

CentOS 7にKubeadmを使用してKubernetesをデプロイする

概要この記事は、kubernetesクラスターをkubeadmですぐに稼働できるようにすることを目的としています。このガイドでは、2台のサーバーを

CoreOSへのdocker-composeのインストール

CoreOSへのdocker-composeのインストール

この記事では、CoreOSにdocker-composeをインストールする方法について説明します。CoreOSでは、/ usr /フォルダーは不変なので、標準の/ usr / local / binパスは使用できません。

CentOS 7にRancherをインストールする

CentOS 7にRancherをインストールする

別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース

Docker-composeを使用してPHPアプリケーションをデプロイする

Docker-composeを使用してPHPアプリケーションをデプロイする

PHPアプリケーションは通常、Webサーバー、リレーショナルデータベースシステム、および言語インタープリター自体で構成されます。このチュートリアルでは、レバラギンになります

CentOS 7へのDockerのインストール

CentOS 7へのDockerのインストール

別のシステムを使用していますか?Dockerは、仮想コンテナー内でのソフトウェアのデプロイメントを可能にするアプリケーションです。それは囲碁プログラムで書かれました

Ubuntu 14.04でのLXCコンテナの安全なデプロイと管理

Ubuntu 14.04でのLXCコンテナの安全なデプロイと管理

LXCコンテナー(Linuxコンテナー)は、単一のホスト上で複数の分離されたLinuxシステムを実行するために使用できるLinuxのオペレーティングシステム機能です。テス

Ubuntu 16.04でDockerを介してSentryをセットアップする

Ubuntu 16.04でDockerを介してSentryをセットアップする

別のシステムを使用していますか?はじめにSentryは、エラー追跡のためのオープンソースのソリューションです。Sentryは例外やその他の有用なメッセージをあちこちで追跡します

Debian 9でのDocker Swarm(CE)とのスティッキーセッション

Debian 9でのDocker Swarm(CE)とのスティッキーセッション

別のシステムを使用していますか?はじめにDocker Swarmは、個々のサーバーをコンピューターのクラスターに変えます。スケーリング、高可用性、

Dockerの使用方法:最初のDockerコンテナーの作成

Dockerの使用方法:最初のDockerコンテナーの作成

このチュートリアルでは、Dockerの基本的な使い方について説明します。Dockerがすでにインストールされていると思います。このチュートリアルの手順は、

Dockerによる負荷分散

Dockerによる負荷分散

Webアプリケーションを実行する場合、通常、マルチスレッドを使用するようにソフトウェアを変換することなく、リソースを最大限に活用したいと思いますo

CoreOSで、独自のDockerレジストリをセットアップする

CoreOSで、独自のDockerレジストリをセットアップする

私たちは皆、アプリケーションコンテナーを作成、管理、および複数のマシンに分散するプラットフォームであるDockerを知っています。Docker Inc.が提供するサービスt

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

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

ハロウィーンのお得な情報に興奮していますか?しかし、Conned –スパムURLを取得する可能性があります

ハロウィーンのお得な情報に興奮していますか?しかし、Conned –スパムURLを取得する可能性があります

このハロウィーンシーズンのオンライン詐欺師は、魅力的なオンライン取引を熱心に探している間、あなたを騙す準備ができています。したがって、このような詐欺やデマを回避する方法は次のとおりです。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

はじめにインターネットに接続されているすべてのサービスは、ブルートフォース攻撃または不当なアクセスの潜在的なターゲットです。fail2baのようなツールがあります

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

私たちの生活にスマートホームデバイスを搭載することの6つの驚くべき利点

私たちの生活にスマートホームデバイスを搭載することの6つの驚くべき利点

このデジタル主導の世界では、スマートホームデバイスは生活の重要な部分になっています。スマートホームデバイスが私たちの生活を生きる価値のあるシンプルなものにする方法について、いくつかの驚くべき利点があります。

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは