1.2. YAML 設定ファイルの使用
MicroShift は、起動時にシステム全体の /etc/microshift/
ディレクトリーで config.yaml
という名前の設定ファイルがあるか確認します。ディレクトリー内に設定ファイルが存在しない場合は、組み込みのデフォルト値を使用してサービスが開始されます。
1.2.1. カスタム設定
カスタム設定を作成するには、MicroShift を起動または再起動する前に、/etc/microshift/
ディレクトリーに config.yaml
ファイルを作成し、デフォルトをオーバーライドするための設定を変更する必要があります。
設定を変更したら、MicroShift を再起動して有効にします。config.yaml
は MicroShift 起動時の読み取り専用ファイルです。
必要な設定をすべて一度に追加すると、システムの再起動を最小限に抑えることができます。
1.2.2. アドバタイズアドレスネットワークフラグの設定
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.3. NodePort サービスのポート範囲の拡張
serviceNodePortRange
設定では、NodePort サービスで使用できるポート範囲が拡張します。このオプションは、30000-32767
範囲内で特定の標準ポートを公開する必要がある場合に役立ちます。たとえば、クライアントデバイスは別のポートを使用できないため、デバイスはネットワーク上で 1883/tcp
MQ Telemetry Transport (MQTT) ポートを公開する必要があります。
NodePort がシステムポートと重複し、システムまたは MicroShift の誤動作を引き起こす可能性があります。
NodePort サービス範囲を設定するときは、次の点を考慮してください。
-
nodePort
を明示的に選択せずに NodePort サービスを作成しないでください。明示的なnodePort
が指定されていない場合、このポートはkube-apiserver
によってランダムに割り当てられるため、予測できません。 -
デバイスの
HostNetwork
で公開するシステムサービスポート、MicroShift ポート、またはその他のサービスに対して NodePort サービスを作成しないでください。 表 1 は、ポート範囲の拡張時に避けるべきポートを示しています。
表1.1 回避するポート ポート 説明 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 スケジューラー