RancherOSにRancherサーバーをインストールする
概要RancherOSは、システムサービスを実行するためのPID 0としてシステムDockerデーモンを実行する、信じられないほど軽量なオペレーティングシステム(わずか約60 MB)です。
このガイドでは、複数のAlpine Linux 3.9.0サーバーとPortainerを使用してDockerスウォームを作成および構成する方法について説明します。Vultrは現在CentOS 7 x64とUbuntu 16.04 x64の両方をサポートするワンクリックDockerアプリを提供していることに注意してください。
最初に、Alpine Linux 3.9.0を実行する少なくとも2つのVC2サーバーが必要です。Docker Swarm内では、これらのサーバーの1つがmanager node
-外部ネットワークとのインターフェースとワーカーノードへのジョブの委任として機能します。もう一方のサーバーはworker node
、マネージャーノードによって委任されたジョブを実行します。
アプリケーションに冗長性や計算能力が必要な場合は、3つ以上のサーバーを起動できますが、このガイドで提供されている手順は引き続き適用されます。
Vultr サーバー配備インターフェースにアクセスします。
Vultr Cloud (VC2)
ページの上部でタブが選択されていることを確認します。
Server Location
セクションから任意の場所を選択できますが、すべてのサーバーが同じ場所にある必要があります。そうしないと、Dockerスウォームをサーバーにデプロイできません。
セクションのISO Library
タブをServer Type
選択し、Alpine Linux 3.9.0 x86_64
画像を選択します。
Server Size
セクションから適切なオプションを選択します。このガイドでは25 GB SSDサーバーサイズを使用しますが、アプリケーションのリソース要件を満たすには不十分な場合があります。Vultrを使用すると、サーバーの起動後にサーバーのサイズを簡単にアップグレードできますが、アプリケーションが最適に実行するために必要なサーバーのサイズを慎重に検討する必要があります。
ではAdditional Features
セクション、あなたが選択する必要がありますEnable Private Networking
オプションを選択します。他のオプションはこのガイドに従う必要はありませんが、アプリケーションのコンテキストでそれぞれが意味があるかどうかを検討する必要があります。
Multiple Private Networks
アカウントでこのオプションを以前に有効にしている場合は、既存のサーバーを選択するか、サーバーの新しいプライベートネットワークを作成する必要があります。有効にしていない場合は、このセクションを無視できます。プライベートネットワークを手動で構成する方法については、このガイドをご覧ください。
ここでは、このFirewall Group
セクションをスキップしてください。Docker Swarmでマネージャーノードとして機能するサーバーのみが公開ポートを必要とし、これはサーバーのデプロイ後に構成する必要があります。
ページの一番下に、Server Qty
少なくとも2つのを入力する必要があります。前述のように、3台以上のサーバーが必要になる場合がありますが、このガイドでは2台で十分です。
最後に、Server Hostname & Label
セクションで、各サーバーの意味のある覚えやすいホスト名とラベルを入力します。このガイドの目的のために、最初のサーバーのホスト名とラベルは次のようになりますdocker-manager
とDocker Manager
、とrespectively- docker-worker
とDocker Worker
、それぞれ、第二のために。
すべての構成を再確認したらDeploy Now
、ページの下部にあるボタンをクリックしてサーバーを起動できます。
VultrのISOライブラリからOSを選択したため、各サーバーにAlpine Linux 3.9.0を手動でインストールして構成する必要があります。
Vultrにサーバーを割り当てるために1〜2分待った後、サーバー管理インターフェイスでサーバーの三重ドットmore options
アイコンをクリックし、オプションを選択します。Docker Manager
View Console
ログインプロンプトが表示されたコンソールにリダイレクトされます。そうでない場合は、Vultrがサーバーの展開を完了するまでさらに1分お待ちください。
そのログインプロンプトでroot
、ユーザー名としてを入力します。Alpine Linux 3.9.0のライブバージョン(サーバーが現在実行しているバージョン)では、ログイン時にスーパーユーザーがパスワードを入力する必要はありません。
rootアカウントに正常にログインすると、ウェルカムメッセージが表示され、その後に次のようなシェルプロンプトが表示されます。
localhost:~#
Alpine Linuxインストーラーを起動するには、次のコマンドを入力します。
# setup-alpine
まず、適切なキーボードレイアウトを選択します。このガイドでは、us
レイアウトとバリアントを使用します。
ホスト名を設定するときは、展開中にこのサーバーに設定したのと同じホスト名を選択します。このガイドに正確に従っている場合、ホスト名はになりますdocker-manager
。
2つのネットワークインターフェイスが使用可能である必要があります:eth0
およびeth1
。のみが表示さeth0
れる場合は、サーバーのプライベートネットワークが正しく構成されていません。初期eth0
使用dhcp
、および初期化しeth1
、ネットマスクをプライベートIPアドレスを使用して、このサーバは、展開中に割り当てられたゲートウェイ。これらの詳細には、サーバーの設定インターフェイスからアクセスできます。プロンプトが表示されたら、手動でネットワーク構成を実行しないでください。
rootアカウントの新しいパスワードを入力し、これらのサーバーの展開先として選択した場所に適したタイムゾーンを選択します。
HTTP / FTPプロキシを使用する場合は、そのURLを入力します。それ以外の場合は、プロキシURLを設定しないでください。
システムクロックの同期を管理するNTPクライアントを選択します。このガイドではを使用しますbusybox
。
使用するパッケージリポジトリミラーを求められたら、番号を入力して明示的に選択します。次のように入力して、最速のものを自動的に検出して選択しますf
。またはe
、と入力してリポジトリー構成ファイルを手動で編集します。これは、Alpine Linuxに慣れていない限り、お勧めできません。このガイドでは、最初のミラーを使用します。
SSHを使用してサーバーにアクセスするか、SSHベースのファイルシステムをホストする場合は、使用するSSHサーバーを選択します。このガイドではを使用しますopenssh
。
使用するディスクを求められたら、タイプvda
としてディスクを選択しますsys
。
これで、Alpine Linux 3.9.0がサーバーにインストールされます。以前にデプロイした他のすべてのサーバーについてこのプロセスを繰り返し、ホスト名とeth1
ネットワークインターフェイスを正しい値に置き換えます。
この時点では、サーバーはまだAlpine Linux 3.9.0のライブISOバージョンを実行しています。SSDインストールから起動するには、サーバーの設定インターフェイスにアクセスし、Custom ISO
サイドメニューエントリに移動して、Remove ISO
ボタンをクリックします。これでサーバーが再起動します。そうでない場合は、手動で再起動します。
サーバーの再起動が完了したら、サーバーのウェブコンソールに戻りますDocker Manager
。
インストールプロセスで前に設定したパスワードを使用して、rootアカウントにログインします。
を/etc/apk/repositories
使用する3行目のコメントを外して、コミュニティパッケージリポジトリを有効にしvi
ます。同様の方法でエッジリポジトリとテストリポジトリを有効にすることができますが、このガイドに従う必要はありません。
次のシェルコマンドを入力して、サーバーのローカルパッケージインデックスを以前に選択したリモートリポジトリと同期します。
# apk update
次に、古いパッケージをアップグレードします。
# apk upgrade
前と同じように、以前にデプロイしたサーバーごとにこの構成プロセスを繰り返します。
Dockerパッケージ自体をインストールする前に、別のdocker
ユーザーを作成することもできます。これを行うには、次のコマンドを使用します。
# adduser docker
注: Dockerパッケージがインストールされると、この新しいユーザーと新しいdocker
グループに追加されたすべてのユーザーはroot権限を持ちます。Moby Githubリポジトリから次の問題を参照してください。
ために
--privileged
ドッキングウィンドウでは、誰もが「ドッキングウィンドウ」グループに追加し、ルートと同等です。dockerグループの誰もが、すべての権限昇格ポリシーとシステムの監査について裏口を持っています。これは、sudoを実行してrootになり、ポリシーを適用して監査を適用できる人とは異なります。
docker
ユーザーにsudo権限を付与する場合は、最初にsudo
パッケージをインストールします。
# apk add sudo
次に、sudo
グループを作成します。
# addgroup sudo
最後に、docker
ユーザーをsudo
グループに追加します。
# adduser docker sudo
これで、このガイドのステップ4に従って、sudoの構成を完了できます。
これで、Dockerパッケージをインストールする準備が整いました。docker
Dockerをインストールして構成するために、別のsudo対応ユーザーがいる必要は厳密にはありませんが、このガイドはその規則に従います。
次のコマンドでDockerパッケージをインストールします。
# apk add docker
次に、Docker initスクリプトを有効にします。
# rc-update add docker
最後に、Dockerデーモンを起動します。
# rc-service docker start
次のコマンドを使用して、Dockerが実行されていることを確認できます。
# docker info
前回と同様に、最初にデプロイしたサーバーごとにこのDockerインストールプロセスを繰り返します。
これですべてのセットアップが処理され、ついにDockerスウォームを作成する準備が整いました。
Docker Manager
サーバーのWebコンソールに戻ります。このサーバーをスウォームのマネージャーノードとして構成します。docker
以前にユーザーを作成することを選択した場合は、スーパーユーザーではなくそのアカウントを使用してログインします。
次のコマンドを入力しますが192.0.2.1
、Docker Manager
サーバーに割り当てられた(パブリックではなく)プライベートIPアドレスに置き換えます。
$ docker swarm init --advertise-addr 192.0.2.1
Dockerは、プライベートネットワーク内の他のサーバーで実行できるコマンドを表示し、それらをワーカーノードとしてこの新しい群に追加します。このコマンドを保存します。
次に、Docker Worker
サーバーのWebコンソールに移動し、docker
作成したユーザーでサインインします。
作成したswarmにこのサーバーをワーカーノードとして追加するには、swarm作成コマンドの出力から保存したコマンドを実行します。次のようになります。
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Dockerはノードがスウォームに参加できたかどうかを出力します。ワーカーノードをスウォームに追加する際に問題が発生した場合は、プライベートネットワーク構成を再確認し、トラブルシューティングについてこのガイドを参照してください。
最初に3つ以上のサーバーをデプロイした場合は、上記のコマンドを使用して残りをワーカーノードとしてスウォームに追加し、アプリケーションで使用できるリソースの量を増やすことができます。または、マネージャーノードを追加することもできますが、それはこのガイドの範囲を超えています。
この時点で、Docker Swarmを使用する準備ができています。ただし、必要に応じて、スウォームのマネージャーノードでPortainerスタックを起動できます。Portainerは、スウォームとその中のノードを管理するための便利なWebインターフェースを提供します。
群れのためのファイアウォールグループを作成する時が来ました。アプリケーションが特に必要としない限り、マネージャーノードのポートのみを公開します。注意深く考慮せずにワーカーノードのポートを公開すると、脆弱性が生じる可能性があります。
移動し、ファイアウォール管理インターフェイスと新しいファイアウォールグループを作成します。アプリケーションは公開するポートを指定する必要がありますが、少なくとも、9000
Portainerのポートを公開する必要があります。このファイアウォールグループをDocker Manager
サーバーに適用します。
必須ではありませんが、SSLでPortainerを保護することを強くお勧めします。このガイドでは、自己署名OpenSSL証明書のみを使用しますが、本番環境ではLet's Encryptの使用を検討する必要があります。
Docker Manager
サーバーのWebコンソールに移動し、docker
ユーザーを使用してログインし、次のコマンドを使用して自己署名OpenSSL証明書を生成します。
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
~/portainer-agent-stack.yml
次の内容で新しいファイルを作成します。
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
このDockerスタック構成ファイルを変更して要件に適合させたら、それをデプロイできます。
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Portainerが機能していることを確認するには、Dockerにスタックをデプロイする1〜2分後、次のコマンドを実行します。
$ docker ps
イメージportainer/portainer:latest
とを含む2つのコンテナが表示されportainer/agent:latest
、Portainerが正しく起動したことを確認します。
これで、HTTPSを使用Docker Manager
してポートでサーバーのパブリックIPアドレスにアクセスすることにより、Dockerスウォームを構成および管理できます9000
。
概要RancherOSは、システムサービスを実行するためのPID 0としてシステムDockerデーモンを実行する、信じられないほど軽量なオペレーティングシステム(わずか約60 MB)です。
はじめにDockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のあるGoプログラミング言語で書かれました
別のシステムを使用していますか?Dockerは、コンテナーとして実行されるプログラムをデプロイできるアプリケーションです。それは人気のある囲碁programminで書かれました
この記事では、Dockerコンテナー内にノードアプリケーションをデプロイする方法を示します。注:このチュートリアルでは、Dockerがインストールされており、
Harbourは、Dockerイメージを格納および配布するオープンソースのエンタープライズクラスのレジストリサーバーです。HarbourはオープンソースのDockerディストリビューションを拡張しますb
Kubernetesは、サーバーのクラスタ全体でコンテナ化されたアプリケーションを管理するためにGoogleが開発したオープンソースのプラットフォームです。それは10年に基づいて構築され、
別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース
概要この記事は、kubernetesクラスターをkubeadmですぐに稼働できるようにすることを目的としています。このガイドでは、2台のサーバーを
この記事では、CoreOSにdocker-composeをインストールする方法について説明します。CoreOSでは、/ usr /フォルダーは不変なので、標準の/ usr / local / binパスは使用できません。
別のシステムを使用していますか?はじめにRancherは、コンテナーを実行し、プライベートコンテナーサービスを構築するためのオープンソースプラットフォームです。牧場主がベース
PHPアプリケーションは通常、Webサーバー、リレーショナルデータベースシステム、および言語インタープリター自体で構成されます。このチュートリアルでは、レバラギンになります
別のシステムを使用していますか?Dockerは、仮想コンテナー内でのソフトウェアのデプロイメントを可能にするアプリケーションです。それは囲碁プログラムで書かれました
LXCコンテナー(Linuxコンテナー)は、単一のホスト上で複数の分離されたLinuxシステムを実行するために使用できるLinuxのオペレーティングシステム機能です。テス
別のシステムを使用していますか?はじめにSentryは、エラー追跡のためのオープンソースのソリューションです。Sentryは例外やその他の有用なメッセージをあちこちで追跡します
別のシステムを使用していますか?はじめにDocker Swarmは、個々のサーバーをコンピューターのクラスターに変えます。スケーリング、高可用性、
このチュートリアルでは、Dockerの基本的な使い方について説明します。Dockerがすでにインストールされていると思います。このチュートリアルの手順は、
Webアプリケーションを実行する場合、通常、マルチスレッドを使用するようにソフトウェアを変換することなく、リソースを最大限に活用したいと思いますo
私たちは皆、アプリケーションコンテナーを作成、管理、および複数のマシンに分散するプラットフォームであるDockerを知っています。Docker Inc.が提供するサービスt
前提条件Dockerエンジン1.8以降。最低4GBのディスク容量。4GB以上のRAM。ステップ1. DockerをインストールするSQL-Serverをインストールするには、Docker mus
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。
最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください
原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。
これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。
私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true
ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。
LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています
HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、