1.2. カスタム設定の使用


カスタム設定を作成するには、/etc/microshift/ ディレクトリーで提供される config.yaml.default ファイルのコピーを作成し、config.yaml という名前を変更します。このファイルを /etc/microshift/ ディレクトリーに維持してから、MicroShift を起動または再起動する前に、デフォルトをオーバーライドすることが予想されるサポートされている設定を変更できます。

重要

設定を変更したら、MicroShift を再起動して有効にします。config.yaml は MicroShift 起動時の読み取り専用ファイルです。

1.2.1. 別個の再起動

MicroShift クラスターで使用されるアプリケーションおよびその他のオプションサービスも、クラスター全体で設定の変更を適用するには、個別に再起動する必要がある場合があります。たとえば、特定のネットワーク設定に変更を加える場合は、サービスおよびアプリケーション Pod を停止して再起動し、それらの変更を適用する必要があります。詳細については、完了したタスクの各手順を参照してください。

ヒント

必要な設定をすべて一度に追加すると、システムの再起動を最小限に抑えることができます。

1.2.2. MicroShift の config.yaml ファイルのパラメーターおよび値

次の表は、MicroShift 設定 YAML パラメーターとそれぞれの有効な値について説明しています。

表1.1 MicroShift config.yaml parameters
フィールド説明

advertiseAddress

string

API サーバーがクラスターのメンバーにアドバタイズされる IP アドレスを指定する文字列。デフォルト値は、サービスネットワークのアドレスに基づいて計算されます。

auditLog.maxFileAge

number

ログファイルが自動的に削除されるまでの保存期間。maxFileAge パラメーターのデフォルト値 0 に設定すると、ログファイルが経過時間をベースに削除されなくなります。この値は設定可能です。

auditLog.maxFileSize

number

デフォルトでは、audit.log ファイルが maxFileSize の制限に達すると、audit.log ファイルがローテーションされ、MicroShift は新しい audit.log ファイルへの書き込みを開始します。この値は設定可能です。

auditLog.maxFiles

number

保存されるログファイルの合計数。デフォルトでは、MicroShift は 10 個のログファイルを保持します。余分なファイルが作成されると、最も古いものが削除されます。この値は設定可能です。

auditLog.profile

DefaultWriteRequestBodiesAllRequestBodies または None に設定されます。

読み取りおよび書き込み要求のメタデータのみをログに記録します。OAuth アクセストークン要求を除く要求の本文はログに記録されません。このフィールドを指定しない場合は、Default プロファイルが使用されます。

namedCertificates

list

カスタム認証局を使用して、外部で生成された証明書およびドメイン名を定義します。

namedCertificates.certPath

path

証明書の完全パスを追加します。

namedCertificates.keyPath

path

証明書キーへの完全パスを追加します。

namedCertificates.names

list

任意。明示的な DNS 名のリストを追加します。ワイルドカードは、先頭に指定できます。名前が指定されていない場合は、暗黙名が証明書から抽出されます。

subjectAltNames

完全修飾ドメイン名(FQDN)、*.domain.com、IP アドレスなどのワイルドカード

API サーバー証明書のサブジェクト代替名。sans は、証明書で保護されたすべてのドメイン名および IP アドレスを示します。

debugging.logLevel

normalDebugTrace、または TraceAll

ログの詳細レベル。デフォルトは Normal です。

dns.baseDomain

有効なドメイン

クラスターのベースドメイン。管理されるすべての DNS レコードはこのベースのサブドメインです。

etcd.memoryLimitMB

number

デフォルトでは、etcd はシステムの負荷を処理するために必要な量のメモリーを使用します。ただし、メモリー制約のあるシステムでは、etcd が特定の時点で使用できるメモリーの量を制限することが望ましいか、または制限する必要がある場合があります。

ingress.listenAddress

IP アドレス、NIC 名、または複数の IP アドレス

デフォルト値は、ホストのネットワーク全体になります。有効な設定可能な値は、単一の IP アドレスまたは NIC 名、あるいは複数の IP アドレスと NIC 名のリストです。

ingress.ports.http

80

デフォルトのポートが表示されます。設定可能です。有効な値は、1 ~ 65535 の範囲の単一の一意のポートです。ports.http および ports.https フィールドの値は、同じにすることはできません。

ingress.ports.https

443

デフォルトのポートが表示されます。設定可能です。有効な値は、1 ~ 65535 の範囲の単一の一意のポートです。ports.http および ports.https フィールドの値は、同じにすることはできません。

ingress.routeAdmissionPolicy. namespaceOwnership

strict または InterNamespaceAllowed

複数の namespace のホスト名要求の処理方法を記述します。デフォルトでは、ルートが、複数の namespace においてホストが同じ名前でパスが異なる要求を許可します。Strict を指定すると、namespace が異なるルートが、同じホスト名を要求しなくなります。カスタマイズされた MicroShift の config.yaml で値が削除されると、InterNamespaceAllowed 値が自動的に設定されます。

ingress.status

Managed または Removed

ルーターのステータス。デフォルトは Managed です。

kubelet

MicroShift の低レイテンシーの手順 を参照してください

kubelet ノードエージェントのパススルー設定のパラメーター。低レイテンシー設定に使用されます。デフォルト値は null です。

manifests

パスの一覧

マニフェストをロードするために使用する kustomization ファイルをスキャンするファイルシステム上の場所。パスのリストを設定すると、それらのパスのみをスキャンします。マニフェストの読み込みを無効にするには、空のリストに設定します。リスト内のエントリーは、複数のサブディレクトリーに一致する glob パターンに指定できます。デフォルト値は /usr/lib/microshift/manifests/usr/lib/microshift/manifests.d//etc/microshift/manifests、および /etc/microshift/manifests.d/ です。

network.clusterNetwork

IP アドレスブロック

Pod IP アドレスの割り当てに使用する IP アドレスのブロック。IPv4 がデフォルトです。デュアルスタックエントリーはサポートされています。このフィールドの最初のエントリーは、MicroShift の起動後は不変です。デフォルトの範囲は 10.42.0.0/16 です。

network.serviceNetwork

IP アドレスブロック

Kubernetes サービスの仮想 IP アドレスのブロック。サービスの IP アドレスプール。IPv4 がデフォルトです。デュアルスタックエントリーはサポートされています。このフィールドの最初のエントリーは、MicroShift の起動後は不変です。デフォルトの範囲は 10.43.0.0/16 です。

network.serviceNodePortRange

range

NodePort タイプの Kubernetes サービスに許可されるポート範囲。指定しない場合、デフォルトの範囲の 30000-32767 が使用されます。NodePort が指定されていないサービスは、この範囲から自動的に割り当てられます。このパラメーターは、MicroShift の開始後に更新できます。

node.hostnameOverride

string

ノードの名前。デフォルト値はホスト名です。空でない場合、この文字列はホスト名ではなく、ノードを識別するために使用されます。この値は、MicroShift の起動後は不変です。

node.nodeIP

IPv4 アドレス

NIC の IPv4 アドレス。デフォルト値は、デフォルトルートの IP アドレスです。

nodeIPv6

IPv6 アドレス

デュアルスタック設定のノードの IPv6 アドレス。IPv4 または IPv6 のいずれかのシングルスタックでは設定できません。デフォルトは空の値または null です。

storage.driver

none または lvms

デフォルト値は空です。空の値または null フィールドのデフォルトは LVMS デプロイメントです。

storage.optionalCsiComponents

array

デフォルト値は null または空の配列です。null または空のアレイはデフォルトで snapshot-controller および snapshot-webhook をデプロイします。予想される値は csi-snapshot-controllercsi-snapshot-webhook、または none です。none のエントリーは、他のすべての値と相互に排他的です。

1.2.3. アドバタイズアドレスネットワークフラグの設定

apiserver.advertiseAddress フラグは、API サーバーをクラスターのメンバーにアドバタイズする IP アドレスを指定します。このアドレスは、クラスターから到達可能である必要があります。ここでカスタム IP アドレスを設定できますが、その IP アドレスをホストインターフェイスに追加する必要もあります。このパラメーターをカスタマイズすると、MicroShift がデフォルトの IP アドレスを br-ex ネットワークインターフェイスに追加しなくなります。

重要

advertiseAddress IP アドレスをカスタマイズする場合は、ホストインターフェイスに IP アドレスを追加して、MicroShift の起動時にクラスターからその IP アドレスに到達できることを確認してください。

設定されていない場合、デフォルト値はサービスネットワークのすぐ後のサブネットに設定されます。たとえば、サービスネットワークが 10.43.0.0/16 の場合、advertiseAddress は、10.44.0.0/32 に設定されます。

1.2.4. NodePort サービスのポート範囲の拡張

serviceNodePortRange 設定では、NodePort サービスで使用できるポート範囲が拡張します。このオプションは、30000-32767 範囲内で特定の標準ポートを公開する必要がある場合に役立ちます。たとえば、クライアントデバイスは別のポートを使用できないため、デバイスはネットワーク上で 1883/tcp MQ Telemetry Transport (MQTT) ポートを公開する必要があります。

重要

NodePort がシステムポートと重複し、システムまたは MicroShift の誤動作を引き起こす可能性があります。

NodePort サービス範囲を設定するときは、次の点を考慮してください。

  • nodePort を明示的に選択せずに NodePort サービスを作成しないでください。明示的な nodePort が指定されていない場合、このポートは kube-apiserver によってランダムに割り当てられるため、予測できません。
  • デバイスの HostNetwork で公開するシステムサービスポート、MicroShift ポート、またはその他のサービスに対して NodePort サービスを作成しないでください。
  • 表 1 は、ポート範囲の拡張時に避けるべきポートを示しています。

    表1.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 スケジューラー

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.