GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7でChef12をセットアップする方法

Chefは、インフラストラクチャをコードに変換する強力な構成管理ユーティリティです。 Chefを使用すると、ユーザーは、環境(クラウド、オンプレミス、またはハイブリッド)に関係なく、一元化された場所からネットワーク全体でリソースを簡単に管理、構成、および展開できます。この投稿は、CentOS 7 /RHEL7でシェフ12をセットアップするのに役立ちます

Chefサーバー11のリリース以降、ChefサーバーのフロントエンドはErlangで記述され、クライアントはRubyを使用して構成の変更を処理します。

Chefのコンポーネント:

Chefは、Chefサーバー、1つ以上のワークステーション、およびchef-clientがインストールされているノードで構成されます。コンポーネント名は、Chefエコシステム内の各マシンが果たす役割に基づいています。

シェフサーバー :これは、ワークステーションからアップロードされたクックブックとレシピを格納する中央ハブサーバーであり、構成の展開のためにchef-clientによってアクセスされます。

シェフのワークステーション :これは、レシピ、クックブック、およびその他のシェフ構成の詳細が作成または編集される場所です。これらはすべて、ワークステーションからChefサーバーにプッシュされ、Chef-clientノードにデプロイできるようになります。

シェフクライアント :これは、chef-clientがインストールされている構成がデプロイされているターゲットノードです。ノードには、任意のマシン(物理、仮想、クラウド、ネットワークデバイスなど)を使用できます。

CentOS 7でChef12をセットアップする:

システム要件/環境:

システムが次のリソース要件を満たしていることを確認してください。ここでは、Chefインストールの基本オペレーティングシステムとしてCentOS7を使用します。

ホスト名 IPアドレス OS CPU メモリ DISK 目的
chefserver.itzgeek.local 192.168.12.11 CentOS 7 4 4 GB 40 GB シェフサーバー
chefdk.itzgeek.local 192.168.12.12 CentOS 7 1 512 MB NA Chefワークステーション(Chef開発キット)
chefclient.itzgeek.local 192.168.12.20 CentOS 7 1 512 MB NA シェフクライアント

前提条件:

ホストには完全修飾ドメイン名が必要です。

DNSまたはホストエントリを配置する必要があります。

vi /etc/hosts

192.168.12.11  chefserver.itzgeek.local  chefserver
192.168.12.12  chefdk.itzgeek.local  chefdk
192.168.12.20  chefclient.itzgeek.local chefclient

wgetパッケージをインストールします。

yum -y install wget

Chefサーバー:

Chefサーバーは、構成データの中央ハブとして機能します。サーバーには、クックブック、ノードに適用されるポリシー、および登録されたノードに関連するメタデータが格納されます。登録済みノードは、chef-clientを使用して、レシピ、テンプレート、ファイル配布などの構成の詳細をChefServerに要求します。

Chefサーバーのインストールと構成:

Chefサーバーコアの最新バージョンをダウンロードします(執筆時点では12.10)。

wget https://packages.chef.io/stable/el/7/chef-server-core-12.10.0-1.el7.x86_64.rpm

ダウンロードが完了したら、次のコマンドを使用してchefサーバーコアをインストールします。

rpm -ivh chef-server-core-*.rpm

Chefサーバーシステムが推奨されるハードウェア要件を満たしていない場合、この手順は失敗する可能性があります。

インストールが完了したら、サーバーが連携して動作するように、chefサーバーコンポーネントを再構成する必要があります。 再構成には少し時間がかかる場合があります

chef-server-ctl reconfigure

次のコマンドを使用して、ChefServerコンポーネントのステータスを確認します。

chef-server-ctl status

出力:

run: bookshelf: (pid 6084) 387s; run: log: (pid 6114) 385s
run: nginx: (pid 5973) 417s; run: log: (pid 6276) 359s
run: oc_bifrost: (pid 5816) 477s; run: log: (pid 5831) 476s
run: oc_id: (pid 5961) 420s; run: log: (pid 5966) 419s
run: opscode-erchef: (pid 6186) 379s; run: log: (pid 6176) 381s
run: opscode-expander: (pid 6039) 388s; run: log: (pid 6071) 388s
run: opscode-solr4: (pid 5992) 399s; run: log: (pid 5999) 398s
run: postgresql: (pid 5805) 478s; run: log: (pid 5809) 477s
run: rabbitmq: (pid 5767) 480s; run: log: (pid 5760) 481s
run: redis_lb: (pid 5377) 595s; run: log: (pid 6272) 359s

管理者ユーザーと組織を作成する:

管理者ユーザーを作成する必要があります。このユーザーは、作成する組織のインフラストラクチャコンポーネントに変更を加えるためのアクセス権を持ちます。以下のコマンドはRSA秘密鍵を自動的に生成するため、安全な場所に保存する必要があります。

ユーザーの詳細は以下のとおりです。

ユーザー名 :管理者

:管理者

:管理者

メール[email protected]

パスワード :パスワード

ファイル名 :admin.pem

パス :/ etc / chef

chef-server-ctl user-create admin admin admin [email protected] password -f /etc/chef/admin.pem

元のコマンド:

chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' -f PATH_FILE_NAME

シェフの構成を保持する組織を作成するときが来ました。

短い名前 :itzgeek(注:名前は小文字または数字で始まる必要があり、小文字、数字、ハイフン、アンダースコアを含めることができ、1〜255文字である必要があります

完全な組織名 :ITzGeek Inc(注:空白以外の文字で始まり、1〜1023文字である必要があります

アソシエーションユーザー :admin(注:このオプションは、以前に作成したユーザー( admin )を関連付けます )管理者と chefサーバーのセキュリティグループ

ファイル名 :itzgeek-validator.pem(注:コマンドはRSA秘密鍵を自動的に生成するため、安全な場所に保存する必要があります

パス :/ etc / chef

chef-server-ctl org-create itzgeek "ITzGeek, Inc" --association_user admin -f /etc/chef/itzgeek-validator.pem

元のコマンド:

chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pem

現在、2つの .pemがあります / etc / chefのキー ディレクトリ。この場合、それらは admin.pemと呼ばれます およびitzgeek-validator.pem 。間もなく、これら2つのファイルをChefワークステーションマシンに配置します。

ファイアウォール:

Chefサーバーでは、ファイアウォールを介して次のポートを開く必要があります。ただし、有効にするのは80と443のみです

次のコマンドを実行して、80および443を許可します ファイアウォールを通過します。

firewall-cmd --permanent --zone public --add-service http
firewall-cmd --permanent --zone public --add-service https
firewall-cmd --reload
ページ:1 2 3
Cent OS
  1. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  2. CentOS 7 /RHEL7でIcingaWeb2をセットアップする方法

  3. CentOS、RHEL、FedoraでSVNサーバーをセットアップする方法

  1. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法

  2. CentOS/RHEL で mutt をセットアップする方法

  3. CentOS/RHEL 7 で root 以外のユーザーとして rsyslog を実行する方法

  1. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  2. RHEL 8 /CentOS8にP7Zipをインストールする方法

  3. CentOS/RHEL 7 で squid プロキシ サーバーをセットアップする方法