プラットフォーム雲基石-CoreOSのクラスタ編(インターネット不要)
5447 ワード
まず『プラットフォーム雲基石-CoreOSのオフラインインストール編(インターネット不要)』に従って3台のCoreOSマシンをインストールする(CoreOS公式によるとクラスタには少なくとも3台のマシンが必要).
公式ドキュメントのクラスタの構成についてはcloud-config.yamlでdiscoveryを構成する必要がありますが、私の実験環境には外部ネットワークがありません.
ソリューション1、自分のDiscovery Endpointを構築する(私は解決していない)
https://github.com/coreos/discovery.etcd.io ローカルデプロイメントをダウンロードします.私はアクセス表示を配置してtokenを生成することができなくて、試みを放棄して、興味のある友达は試して、あなたの解決を期待することができます.
ソリューション2、etcdを手動で起動(問題あり)
ログインcoreos 1
次のコードを実行します.
ログインcoreos 2
次のコードを実行します.
ログインcoreos 3
次のコードを実行します.
テストクラスタ
新しいウィンドウを開いてcoreos 1にログイン
入力
に届く
に質問
1、etcdはバックグラウンドで実行できない
上記のetcdコマンドに従って実行すると、クライアントを閉じるとetcdが閉じられ、クラスタがなくなり、nohupが無効になります.
ソリューション3:cloud-config.yaml(これを使いましょう)
単一マシンは『プラットフォーム雲基石-CoreOSのオフラインインストール編(インターネット不要)』に従い、構成は以下のように変更される.完璧に解決!ここではyamlファイルのフォーマットのインデント、スペース、tabなどに特に注意し、失敗したらファイルをチェックします.
最初の機械
プライマリノードは、次のように構成されています.
cloud-config-104.yaml
2台目の機械
cloud-config-105.yaml
3台目の機械
cloud-config-106.yaml
テスト
公式ドキュメントのクラスタの構成についてはcloud-config.yamlでdiscoveryを構成する必要がありますが、私の実験環境には外部ネットワークがありません.
#cloud-config
coreos:
etcd:
# generate a new token for each unique cluster from https://discovery.etcd.io/new
discovery: https://discovery.etcd.io/<token>
# multi-region and multi-cloud deployments need to use $public_ipv4
addr: $private_ipv4:4001
peer-addr: $private_ipv4:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
ソリューション1、自分のDiscovery Endpointを構築する(私は解決していない)
https://github.com/coreos/discovery.etcd.io ローカルデプロイメントをダウンロードします.私はアクセス表示を配置してtokenを生成することができなくて、試みを放棄して、興味のある友达は試して、あなたの解決を期待することができます.
ソリューション2、etcdを手動で起動(問題あり)
ログインcoreos 1
ssh [email protected]
次のコードを実行します.
etcd -name="coreos1" -addr="192.168.1.104:4001" -peer-addr="192.168.1.104:7001" -data-dir="/home/core/etcd"
ログインcoreos 2
ssh [email protected]
次のコードを実行します.
etcd -name="coreos2" -addr="192.168.1.105:4001" -peer-addr="192.168.1.105:7001" -peers="192.168.1.104:7001" -data-dir="/home/core/etcd"
ログインcoreos 3
ssh [email protected]
次のコードを実行します.
etcd -name="coreos3" -addr="192.168.1.106:4001" -peer-addr="192.168.1.106:7001" -peers="192.168.1.104:7001,192.168.1.105:7001" -data-dir="/home/core/etcd"
テストクラスタ
新しいウィンドウを開いてcoreos 1にログイン
ssh [email protected]
入力
fleetctl list-machines
に届く
core@coreos1 ~ $ fleetctl list-machines
MACHINE IP METADATA
79a6a4fe... 192.168.1.103 -
d049e2ca... 192.168.1.106 -
dcbf31c5... 192.168.1.105 -
に質問
1、etcdはバックグラウンドで実行できない
上記のetcdコマンドに従って実行すると、クライアントを閉じるとetcdが閉じられ、クラスタがなくなり、nohupが無効になります.
ソリューション3:cloud-config.yaml(これを使いましょう)
単一マシンは『プラットフォーム雲基石-CoreOSのオフラインインストール編(インターネット不要)』に従い、構成は以下のように変更される.完璧に解決!ここではyamlファイルのフォーマットのインデント、スペース、tabなどに特に注意し、失敗したらファイルをチェックします.
最初の機械
プライマリノードは、次のように構成されています.
cloud-config-104.yaml
#cloud-config
hostname: coreos1
coreos:
etcd:
addr: 192.168.1.104:4001
peer-addr: 192.168.1.104:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: static.network
content: |
[Match]
Name=enp3s0
[Network]
Address=192.168.1.104/24
Gateway=192.168.1.254
DNS=192.168.1.254
users:
- name: core
ssh-authorized-keys:
- ssh-rsa #
- groups:
- sudo
- docker
2台目の機械
cloud-config-105.yaml
#cloud-config
hostname: coreos2
coreos:
etcd:
peers: 192.168.1.104:7001
addr: 192.168.1.105:4001
peer-addr: 192.168.1.105:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: static.network
content: |
[Match]
Name=enp3s0
[Network]
Address=192.168.1.105/24
Gateway=192.168.1.254
DNS=192.168.1.254
users:
- name: core
ssh-authorized-keys:
- ssh-rsa #
- groups:
- sudo
- docker
3台目の機械
cloud-config-106.yaml
#cloud-config
hostname: coreos3
coreos:
etcd:
peers: 192.168.1.104:7001
addr: 192.168.1.106:4001
peer-addr: 192.168.1.106:7001
units:
- name: etcd.service
command: start
- name: fleet.service
command: start
- name: static.network
content: |
[Match]
Name=enp3s0
[Network]
Address=192.168.1.106/24
Gateway=192.168.1.254
DNS=192.168.1.254
users:
- name: core
ssh-authorized-keys:
- ssh-rsa #
- groups:
- sudo
- docker
テスト
fleetctl list-machines