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最新のランチャーサーバのマニュアル


Leave a Comment

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

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

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

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

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

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。