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

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

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の未来は、日々成長を続けています。