
新しいインスタンスを作成するときに使用すると、既存の Rancher 環境に自動的に参加する VM テンプレート (具体的には vSphere) を作成したいと思います。Rancher の [カスタム ホストの追加] ページからコマンドを実行してエージェントを作成し、その VM をテンプレートとしてフリーズしてみました。しかし、テンプレートを使用して新しいインスタンスを作成すると、サーバーが Unauthorized エラー ステータスを返したため、エージェントは Rancher サーバーからエージェントをダウンロードできませんでした。これは、[カスタム ホストの追加] ページのコマンドにタイムスタンプが組み込まれていることを意味していると思います。
Rancher 環境に自動的に参加する VM テンプレートを設定する別の方法はありますか?
答え1
Rancher のカスタム ホストの追加コマンドは、実際には Rancher 環境に固有のものであるため、複数のホストを Rancher に追加するために再利用できます。私が実際に抱えていた問題は 2 つありました。
- VM で Docker を起動し、その VM をテンプレートとしてスナップショットすると、テンプレートから作成されたすべての新しい VM には、最初の起動時に割り当てられた Docker エンジンの同じ一意の ID が設定されます。これにより、さまざまな問題が発生する可能性があります。VM テンプレートを作成するときは、ファイルが
/etc/docker/key.json
存在しないことを確認してください。 - Rancher Agent でも同様の問題が発生します。Rancher Agent も、初回実行時に独自の一意の ID が生成されるため、テンプレート VM に作成できません。この問題を解決するために、VM テンプレートにスクリプトを追加しました。このスクリプトは、テンプレートから新しい VM が作成された場合に実行され、正しい登録 URL で新しい Rancher Agent を起動します。