bare(-metal servers)#
config.ymlにplatform: bare を設定します
このプラットフォームは、ベアメタルサーバーやクラウドプラットフォームAWSを含む既にプロビジョニングされたサーバーを含む、SSHを介してアクセス可能なサーバーをサポートすることを目的としています。
各ターゲットサーバーのIPアドレスとユーザー名を定義する必要があります。
instances:
- node: 1
Name: igor
platform: bare
public_ip: 192.0.2.1
private_ip: 192.0.2.222
vars:
ansible_user: xyzzy
次のことを確認する必要があります
TPAは
ansible_userとしてインスタンスにsshできますansible_userには、インスタンスでsudoアクセスがあります
SSHアクセス#
上記の例では、TPAはxyzzy@192.0.2.1
にssh接続してインスタンスにアクセスします。
デフォルトでは、TPAはssh-keygen
を実行して、クラスターディレクトリに新しいSSHキーペアを生成します。プライベートキーの名前はid_cluster_name
であり、公開キーはid_cluster_name.pub に保存されます。
インスタンスが受け入れる別のキーを使用するようにssh_key_file: /path/to/id_keyname
を設定するか、生成されたキーからのアクセスを許可するようにインスタンスを構成する必要がありますたとえば、
id_cluster_name.pub のコンテンツを~xyzzy/.ssh/authorized_keys
に追加するssh-copy-id を使用します。
また、sshがインスタンスのホストキーを検証できることを確認する必要があります。クラスターディレクトリのknown_hosts
ファイルにエントリを追加するか、TPA生成ホストキーをクラスターディレクトリのhostkeys/ssh_host_ *_key*
からインスタンスの/etc/ssh
にインストールできます。生成されたtpa_known_hosts
ファイルには、これらのキーのエントリが含まれています。
たとえば、生成されたユーザーキーを使用してssh接続しますが、既存のホストキーを保持するには、次のことができます。
$ cd ~/clusters/speedy
$ ssh-copy-id -i id_speedy xyzzy@192.0.2.1
$ ssh-keyscan -H 192.0.2.1 >> tpa_known_hosts
tpaexec ping ~/clusters/speedy
を実行して、動作しているかどうかを確認します。まだない場合は、コマンドに-vvv
を追加して、完全なsshコマンドラインを確認します。 (注
Ansibleはsshを呼び出して、インスタンスでbash -c 'python3 && sleep 0'
のようなコマンドを実行します。デバッグ中にsshコマンドを手動で実行する場合、これを'id'
などの出力を生成して終了するコマンドに置き換えます。)
詳細については
ディストリビューションのサポート#
TPAは、ターゲットインスタンスで実行されているディストリビューションを検出しようとしますが、サポートされていない場合は失敗します。
TPAは現在Debian 10/11/12;またはbuster/bulseye/bookworm、Ubuntu
16.04/18.04/20.04/22.04;またはxenial/bionic/focal/jammy)、およびRHEL/CentOS/Rocky/AlmaLinux
7. x/8.x)bare インスタンスで。
IPアドレス#
任意のインスタンスにpublic_ip 、private_ip
、またはその両方を指定できます。
TPAは、これらのIPアドレスを2つの方法で使用します。1つ目は、インスタンスにsshして、展開中にコマンドを実行します。次に、クラスター内の通信を設定するためなど、/etc/hosts
またはPostgresのprimary_conninfo を設定します。
public_ip
を指定すると、デプロイ中にインスタンスにssh接続するために使用されます。
private_ip
を指定すると、クラスター内の通信を設定するために使用されます。両方を指定した場合、
public_ip は展開中に使用され、 private_ip
はクラスター通信に使用されます。
いずれかのみを指定した場合、アドレスは両方の目的に使用されます。たとえば、別のネットワーク上のサーバーにpublic_ip
のみを設定したり、閉じたネットワーク内でTPAを実行している場合はprivate_ip
のみを設定したりできます。
(パブリック/プライベートを使用する代わりに、1つのIPアドレスのみを指定する必要がある場合は、ip_address
を設定できます。)
新しく始める#
bare
プラットフォームのクラスターで新しくスタートするには、適切な外部ツールを使用してサーバーを再インストール、再イメージ、または再プロビジョニングし、このドキュメントで説明しているプロセスを繰り返します。新しいサーバーのIPアドレスが異なる場合、または複雑なsshセットアップがある場合は、
tpaexec deprovision を実行してローカルに作成されたすべてのファイルを削除してから
tpaexec provision
それらを再作成し、上記と同様にこのドキュメントのプロセスを繰り返します。