第 2 章 サービスメッシュ 1.X
2.1. SERVICE MESH リリースノート
2.1.4. 新機能
2.1.4.10. Red Hat OpenShift Service Mesh 1.1.4 の新機能 の新機能
Red Hat OpenShift Service Mesh の本リリースでは、CVE (Common Vulnerabilities and Exposures) お
Red Hat OpenShift Service Mesh の本リリースでは、CVE (Common Vulnerabilities and Exposures) お よびバグ修正に対応しています。
注記 注記
CVE-2020-8663 に対応するために、手動による手順を完了する必要があります。
2.1.4.10.1. CVE-2020-8663 で必要な手動による更新で必要な手動による更新
CVE-2020-8663 の修正:envoy: Resource exhaustion when accepting too many connections によ り、ダウンストリーム接続に設定可能な制限が追加されました。この制限の設定オプションは、この脆 弱性を軽減するように設定する必要があります。
重要 重要
1.1 バージョンまたは 1.0 バージョンの Red Hat OpenShift Service Mesh を使用している かどうかに関係なく、この CVE に対応するには、これらの手動の手順が必要です。
この新しい設定オプションは overload.global_downstream_max_connections と呼ばれ、プロキ
シーの runtime 設定として設定できます。Ingress ゲートウェイで制限を設定するには、以下の手順を
実行します。
手順 手順
1. 以下のテキストで bootstrap-override.json という名前のファイルを作成し、プロキシーが ブートストラップテンプレートを上書きし、ディスクからランタイム設定を読み込むように強 制します。
{
"runtime": {
"symlink_root": "/var/lib/istio/envoy/runtime"
} }
2. bootstrap-override.json ファイルからシークレットを作成し、<SMCPnamespace> を、サービ スメッシュコントロールプレーン (SMCP) を作成した namespace に置き換えます。
3. SMCP 設定を更新して上書きを有効にします。
更新された
更新された SMCP 設定例 設定例 #1
$ oc create secret generic -n <SMCPnamespace> gateway-bootstrap --from-file=bootstrap-override.json
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec:
istio:
gateways:
istio-ingressgateway:
env:
ISTIO_BOOTSTRAP_OVERRIDE: /var/lib/istio/envoy/custom-bootstrap/bootstrap-override.json
secretVolumes:
4. 新規設定オプションを設定するには、overload.global_downstream_max_connections 設定 の必要な値を持つシークレットを作成します。以下の例では、10000 の値を使用します。
5. SMCP を再度更新して、Envoy がランタイム設定を検索する場所にシークレットをマウントし
ます。
更新された
更新された SMCP 設定例 設定例 #2
2.1.4.10.2. Elasticsearch 5 からから Elasticsearch 6 へのアップグレードへのアップグレード
Elasticsearch 5 から Elasticsearch 6 に更新する場合、証明書に関する問題があるために Jaeger インス タンスを削除してから Jaeger インスタンスを再作成する必要があります。Jaeger インスタンスを再作 成すると、証明書の新たなセットの作成がトリガーされます。永続ストレージを使用している場合、新 規の Jaeger インスタンスの Jaeger 名および namespace が削除された Jaeger インスタンスと同じで ある限り、新規の Jaeger インスタンスについて同じボリュームをマウントできます。
Jaeger がが Red Hat Service Mesh の一部としてインストールされている場合の手順の一部としてインストールされている場合の手順
1. Jaeger カスタムリソースファイルの名前を判別します。
以下のような出力が表示されます。
- mountPath: /var/lib/istio/envoy/custom-bootstrap name: custom-bootstrap
secretName: gateway-bootstrap
$ oc create secret generic -n <SMCPnamespace> gateway-settings --from-literal=overload.global_downstream_max_connections=10000
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec:
template: default
#Change the version to "v1.0" if you are on the 1.0 stream.
version: v1.1 istio:
gateways:
istio-ingressgateway:
env:
ISTIO_BOOTSTRAP_OVERRIDE: /var/lib/istio/envoy/custom-bootstrap/bootstrap-override.json secretVolumes:
- mountPath: /var/lib/istio/envoy/custom-bootstrap name: custom-bootstrap
secretName: gateway-bootstrap # below is the new secret mount
- mountPath: /var/lib/istio/envoy/runtime name: gateway-settings
secretName: gateway-settings
$ oc get jaeger -n istio-system
NAME AGE jaeger 3d21h
2. 生成されたカスタムリソースファイルを一時ディレクトリーにコピーします。
3. Jaeger インスタンスを削除します。
4. カスタムリソースファイルのコピーから Jaeger インスタンスを再作成します。
5. 生成されたカスタムリソースファイルのコピーを削除します。
Jaeger が が Red Hat Service Mesh の一部としてインストールされていない場合の手順 の一部としてインストールされていない場合の手順
開始する前に、Jaeger カスタムリソースファイルのコピーを作成します。1. カスタムリソースファイルを削除して Jaeger インスタンスを削除します。
以下は例になります。
2. カスタムリソースファイルのバックアップコピーから Jaeger インスタンスを再作成します。
3. Pod が再起動したことを確認します。