GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

openshift

openshift-ansible – OpenShiftのインストールと構成の管理

投稿日:

OpenShiftのインストールと構成の管理 https://install.openshift.com

OpenShift Ansible

このリポジトリには、 OpenShiftクラスタをインストール、アップグレード、および管理するための役割とプレイブックが含まれています。

:このリポジトリ内のAnsibleプレイブックには、 dockerを提供するRPMパッケージが必要です。 現在、 dockerproject.orgのRPMはこの要件を提供していませんが、今後必要になるかもしれません。 この制限は#2720によって追跡されています。

正しいバージョンを取得する

オープンシフトリリースを選択するときは、ディストリビューションのリポジトリに必要なオリジナルパッケージがあることを確認してください。 デフォルトでは、openshift-ableは、エンドユーザーのパッケージをテストまたはステージングするための追加のリポジトリを構成しません。

リリースブランチを使用することをお勧めします。 我々は、上流原点リリースに対応する安定した支店を維持している。例えば、オープンシフト可能な3.2リリースが原産地1.2リリースを完全にサポートすることを保証する。

最新のブランチは、しばしばマイナーな機能のバックポートと修正を受け取ることがあります。 古い枝は重大な修正のみを受け取ります。

リリースブランチに加えて、マスターブランチマスターブランチ は開発中の現在の作業追跡し、 Originマスターブランチ (開発中のコード)と互換性がある必要があります。

適切なオープンシフティングリリースの入手

このリリースパターンに従って、間違ってはいけません:

原点/ OCP OpenShift-Aniableバージョン オープンシフト可能な支店
1.3 / 3.3 3.3 リリース1.3
1.4 / 3.4 3.4 リリース1.4
1.5 / 3.5 3.5 リリース-1.5
3.X 3.X リリース – 3.x

オープンシフト可能なマスターブランチから実行している場合は、開発中の最新の起点リリースとの互換性のみが保証されます。 安定版リリースを実行していない場合は、元のバージョンに対応するブランチを使用してください。

セットアップ

ベースの依存関係をインストールする:

要件:

  • OCPインストールでは2.4.3.0,2.5.x以上のバージョンは現在サポートされていません
  • Jinja> = 2.7
  • pyOpenSSL
  • python-lxml

Fedora:

dnf install -y ansible pyOpenSSL python-cryptography python-lxml

その他の要件:

ロギング:

  • java-1.8.0-openjdk-headless
  • パッチ

指標:

  • httpd-tools

シンプルなオールインワンローカルホストのインストール

これは、基本依存関係をインストールし、FedoraまたはRHEL上で実行していることを前提としています

git clone https://github.com/openshift/openshift-ansible
cd openshift-ansible
sudo ansible-playbook -i inventory/hosts.localhost playbooks/prerequisites.yml
sudo ansible-playbook -i inventory/hosts.localhost playbooks/deploy_cluster.yml

ノードグループの定義とマッピング

3.10以降では、[nodes]インベントリグループのすべてのメンバにopenshift_node_group_name割り当てる必要があります。 この値は、各ノードを構成するconfigmapを選択するために使用されます。 デフォルトでは、3つの設定マップが作成されています。 openshift_node_groupsで定義されている各ノードグループごとに1つずつあり、 node-config-master node-config-infra node-config-computeという名前です。 configmapはノードラベルの権威ある定義でもあり、古いopenshift_node_labels値は実質的に無視されることに注意することが重要です。

また、ノードを複数の役割にラベル付けする2つの設定マップがあります。これらはプロダクションクラスタには推奨されませんが、 node-config-all-in-onenode-config-master-infraという名前が付けられていnode-config-all-in-one本番クラスタではないものを展開します。

ノードグループのデフォルトセットは[roles / openshift_facts / defaults / main.yml]で以下のように定義されています

openshift_node_groups:
  - name: node-config-master
    labels:
      - 'node-role.kubernetes.io/master=true'
    edits: []
  - name: node-config-infra
    labels:
      - 'node-role.kubernetes.io/infra=true'
    edits: []
  - name: node-config-compute
    labels:
      - 'node-role.kubernetes.io/compute=true'
    edits: []
  - name: node-config-master-infra
    labels:
      - 'node-role.kubernetes.io/infra=true,node-role.kubernetes.io/master=true'
    edits: []
  - name: node-config-all-in-one
    labels:
      - 'node-role.kubernetes.io/infra=true,node-role.kubernetes.io/master=true,node-role.kubernetes.io/compute=true'
    edits: []

これをINIベースのインベントリで設定するときは、これをPython辞書に変換する必要があります。 ここでは、kubeletArguments.pods-per-coreが20に設定されたオールインワンインストールに適したnode-config-all-in-oneという名前のグループの例を示します

openshift_node_groups=[{'name': 'node-config-all-in-one', 'labels': ['node-role.kubernetes.io/master=true', 'node-role.kubernetes.io/infra=true', 'node-role.kubernetes.io/compute=true'], 'edits': [{ 'key': 'kubeletArguments.pods-per-core','value': ['20']}]}]

アップグレードの場合、openshift-node名前空間に必要なconfigmapsがあるまで、アップグレードプロセスはブロックされます。 上記で説明したopenshift_node_groupsを定義するか、デフォルトを受け入れ、playbooks / openshift-master / openshift_node_group.ymlプレイブックを実行して自動的に作成されるようにしてください。

完全なプロダクションインストールドキュメント:

不可能なコンテナ化されたOpenShift

openshiftをcontainerイメージとしてパッケージ化する方法については、 README_CONTAINER_IMAGE.mdを参照してください。

インストーラフック

フックのドキュメントを参照してください。

貢献する

投稿ガイドを参照してください

オープンシフト可能なRPMとコンテナ画像の構築

ビルド手順を参照してください







-openshift
-,

執筆者: