第2章 設定ファイルを使用した MicroShift のカスタマイズ
MicroShift YAML ファイルを使用して、設定、設定、およびパラメーターをカスタマイズします。
2.1. カスタム設定の使用 リンクのコピーリンクがクリップボードにコピーされました!
カスタム設定を作成するには、/etc/microshift/
ディレクトリーで指定されている config.yaml.default
ファイルのコピーを作成し、config.yaml
という名前を変更します。このファイルを /etc/microshift/
ディレクトリーに保持してから、MicroShift を起動または再起動する前に、デフォルトをオーバーライドするサポートされている設定を変更できます。
デフォルト設定に変更を加えた場合には、代替方法として設定のドロップインスニペットの使用を検討してください。
設定を変更したら、MicroShift を再起動して有効にします。config.yaml
ファイルは、MicroShift の起動時にのみ読み取られます。
2.1.1. 個別の再起動 リンクのコピーリンクがクリップボードにコピーされました!
MicroShift ノードで使用されるアプリケーションおよびその他のオプションサービスも、ノード全体で設定の変更を適用するには、個別に再起動する必要がある場合があります。たとえば、特定のネットワーク設定に変更を加える場合は、サービスおよびアプリケーション Pod を停止して再起動し、それらの変更を適用する必要があります。詳細は、完了するタスクのそれぞれの手順を参照してください。
必要な設定をすべて一度に追加すると、システムの再起動を最小限に抑えることができます。
2.1.2. MicroShift config.yaml ファイルのパラメーターと値 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、MicroShift 設定 YAML パラメーターとそれぞれの有効な値を説明しています。
フィールド | 型 | 説明 |
---|---|---|
|
| API サーバーがノードのメンバーにアドバタイズされる IP アドレスを指定する文字列。デフォルト値は、サービスネットワークのアドレスに基づいて計算されます。 |
|
|
自動削除前にログファイルが保存される期間。 |
|
|
デフォルトでは、 |
|
| 保存されるログファイルの合計数。デフォルトでは、MicroShift は 10 個のログファイルを保持します。余分なファイルが作成されると、最も古いものが削除されます。この値は設定できます。 |
|
|
読み取りおよび書き込み要求のメタデータのみをログに記録します。OAuth アクセストークン要求を除く要求の本文はログに記録されません。このフィールドを指定しない場合は、 |
|
| カスタム認証局を使用して、外部で生成された証明書およびドメイン名を定義します。 |
|
| 証明書への完全パス。 |
|
| 証明書キーへの完全パス。 |
|
| オプション: 明示的な DNS 名のリストを追加します。ワイルドカードは、先頭に指定できます。名前を一覧表示しないと、暗黙的な名前が証明書から抽出されます。 |
|
完全修飾ドメイン名 (FQDN)、 | API サーバー証明書のサブジェクト代替名。SAN は、証明書で保護されたすべてのドメイン名および IP アドレスを示します。 |
|
|
ログの詳細レベル。デフォルトは |
|
| ノードのベースドメイン。管理されるすべての DNS レコードはこのベースのサブドメインです。 |
|
|
デフォルトでは、 |
|
|
ingress に使用するデフォルトの HTTP バージョンを決定します。デフォルト値は |
|
|
Ingress ルーターが
|
|
|
|
|
|
すべての MIME タイプが圧縮の恩恵を受けるわけではありませんが、圧縮が設定されていれば、 |
|
|
デフォルト値は
|
| IP アドレス、NIC 名、またはその複数。 | デフォルト値は、ホストのネットワーク全体になります。有効な設定可能な値は、単一の IP アドレスまたは NIC 名、あるいは複数の IP アドレスと NIC 名のリストです。 |
|
|
デフォルト値は |
|
|
デフォルトのポートが表示されます。設定可能です。有効な値は、 |
|
|
デフォルトのポートが表示されます。設定可能です。有効な値は、 |
|
|
複数の namespace のホスト名要求の処理方法を記述します。デフォルトでは、複数の namespace にまたがって、ルートが同じホスト名の異なるパスを要求することを許可します。 |
|
|
ルーターのステータス。デフォルトは |
| オブジェクト | Ingress コントローラー Pod のパフォーマンスをチューニングするためのオプションを指定します。 |
|
|
接続を閉じる前に、サーバー/バックエンドへのクライアントのレスポンスを待機している間、接続を開いたままにする時間を定義します。デフォルトのタイムアウトは |
|
|
クライアントのレスポンスを待機している間、接続を開いたままにする時間を定義します。デフォルトのタイムアウトは |
|
|
|
|
|
|
|
次のパターンを持つ |
デフォルトの
|
|
|
デフォルト値は
|
|
|
接続を閉じる前に、サーバーまたはバックエンドからのクライアントへのレスポンスを待機している間、接続を開いたままにする時間を定義します。デフォルトのタイムアウトは |
|
|
サーバーまたはバックエンドのレスポンスを待機している間、接続を開いたままにする時間を定義します。デフォルトのタイムアウトは |
|
|
|
|
| 一致するルートを検出するためにルーターがデータを保持できる時間を定義します。この間隔の設定値が短すぎると、より適合性の高い証明書を使用できる場合でも、ルーターがエッジ終端クライアントまたは再暗号化ルート用のデフォルト証明書に戻す可能性があります。
|
|
|
トンネルがアイドル状態の間、websocket を含むトンネル接続を開いたままにする時間を定義します。デフォルトのタイムアウトは |
| MicroShift の低レイテンシーの手順を参照してください | kubelet ノードエージェントのパススルー設定のパラメーター。低レイテンシー設定に使用されます。デフォルト値は null です。 |
|
|
マニフェストをロードするために使用する |
| IP アドレスブロック |
Pod IP アドレスの割り当てに使用する IP アドレスのブロック。IPv4 がデフォルトのネットワークです。デュアルスタックエントリーはサポートされています。このフィールドの最初のエントリーは、MicroShift の起動後は変更できません。デフォルトの範囲は |
| String |
空の場合、または |
| IP アドレスブロック |
Kubernetes サービスの仮想 IP アドレスのブロック。サービスの IP アドレスプール。IPv4 がデフォルトです。デュアルスタックエントリーはサポートされています。このフィールドの最初のエントリーは、MicroShift の起動後は変更できません。デフォルトの範囲は |
|
|
|
|
| ノードの名前。デフォルト値はホスト名です。空でない場合、この文字列はホスト名ではなく、ノードを識別するために使用されます。この値は、MicroShift の起動後は変更できません。 |
| IPv4 アドレス | ノードの IPv4 アドレス。デフォルト値は、デフォルトルートの IP アドレスです。 |
| IPv6 アドレス | デュアルスタック設定のノードの IPv6 アドレス。IPv4 または IPv6 のいずれかのシングルスタックでは設定できません。デフォルトは空の値または null です。 |
|
| デフォルト値は空です。空の値または null フィールドのデフォルトは LVMS デプロイメントです。 |
|
|
デフォルト値は null または空の配列です。null または空の配列の場合、デフォルトで |
2.1.3. アドバタイズアドレスネットワークフラグの設定 リンクのコピーリンクがクリップボードにコピーされました!
apiserver.advertiseAddress
フラグは、API サーバーをノードのメンバーにアドバタイズする IP アドレスを指定します。このアドレスは、ノードから到達可能である必要があります。ここでカスタム IP アドレスを設定できますが、その IP アドレスをホストインターフェイスに追加する必要もあります。このパラメーターをカスタマイズすると、MicroShift がデフォルトの IP アドレスを br-ex
ネットワークインターフェイスに追加しなくなります。
advertiseAddress
IP アドレスをカスタマイズする場合は、ホストインターフェイスに IP アドレスを追加して、MicroShift の起動時にノードからアクセスできることを確認してください。
設定されていない場合、デフォルト値はサービスネットワークのすぐ後のサブネットに設定されます。たとえば、サービスネットワークが 10.43.0.0/16
の場合、advertiseAddress
は、10.44.0.0/32
に設定されます。
2.1.4. NodePort サービスのポート範囲の拡張 リンクのコピーリンクがクリップボードにコピーされました!
serviceNodePortRange
設定では、NodePort サービスで使用できるポート範囲が拡張します。このオプションは、30000-32767
範囲内で特定の標準ポートを公開する必要がある場合に役立ちます。たとえば、クライアントデバイスは別のポートを使用できないため、デバイスはネットワーク上で 1883/tcp
MQ Telemetry Transport (MQTT) ポートを公開する必要があります。
NodePort がシステムポートと重複し、システムまたは MicroShift の誤動作を引き起こす可能性があります。
NodePort サービス範囲を設定するときは、次の点を考慮してください。
-
nodePort
を明示的に選択せずに NodePort サービスを作成しないでください。明示的なnodePort
が指定されていない場合、このポートはkube-apiserver
によってランダムに割り当てられるため、予測できません。 -
デバイスの
HostNetwork
で公開するシステムサービスポート、MicroShift ポート、またはその他のサービスに対して NodePort サービスを作成しないでください。 表 1 は、ポート範囲の拡張時に避けるべきポートを示しています。
Expand 表2.2 回避するポート ポート 説明 22/tcp
SSH ポート
80/tcp
OpenShift Router HTTP エンドポイント
443/tcp
OpenShift Router HTTPS エンドポイント
1936/tcp
現在公開されていない openshift-router のメトリクスサービス
2379/tcp
etcd ポート
2380/tcp
etcd ポート
6443
Kubernetes API
8445/tcp
openshift-route-controller-manager
9537/tcp
cri-o metrics
10250/tcp
kubelet
10248/tcp
kubelet healthz ポート
10259/tcp
kube スケジューラー