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

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

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

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

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

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

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

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

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は、ファイアウォール、プロキシ、