0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【IBM Application Gateway】Secretを再作成してみる(SSL証明書差し替えイメージ)

Last updated at Posted at 2022-06-02

はじめに

前回の記事で、OpenShift GitOpsを設定して、IBM Application Gatewayをデプロイする流れを試しました。

SSL証明書を差し替えるケースをイメージして、Secretを再作成してみます。

1. Pod内のSSL証明書を確認

PS C:\temp-openshift\iag> oc get po
NAME           READY   STATUS      RESTARTS   AGE
iag-1-build    0/1     Completed   0          17h
iag-1-deploy   0/1     Completed   0          17h
iag-2-4k2h8    1/1     Running     0          17h
iag-2-deploy   0/1     Completed   0          17h

PS C:\temp-openshift\iag> oc rsh iag-2-4k2h8
sh-4.4$ cat /var/iag/config/secret_files/iag.certkey.pem

-----BEGIN CERTIFICATE-----
MIIDT~~~Avo+iE+Cs4w==
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEv~~~346LGtujs=
-----END PRIVATE KEY-----

2. ブラウザアクセス時の証明書を確認

IAGにブラウザでアクセスして、SSL証明書をダウンロード/中身を確認します。
qiita (1).png

ダウンロードした証明書を確認すると、同じ証明書を利用しています。

-----BEGIN CERTIFICATE-----
MIIDT~~~Avo+iE+Cs4w==
-----END CERTIFICATE-----

2. SSL証明書とSecretを再作成する

スクリプトを使ってSSL証明書の再作成します。

.\common\create-iag-crypto.sh

再作成した証明書です。

> cat .\common\secret_files\iag.certkey.pem
-----BEGIN CERTIFICATE-----
MIIDT~~~M6eix/3to0w==
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIE~~~jYFaRel9EBxJqvcE=
-----END PRIVATE KEY-----

Secretを再作成します。

.\openshift\create-iag-assets.sh

Podの中の証明書を確認すると、新しい証明書に差し替えされていました。

sh-4.4$ cat /var/iag/config/secret_files/iag.certkey.pem
-----BEGIN CERTIFICATE-----
MIIDT~~~M6eix/3to0w==
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIE~~~jYFaRel9EBxJqvcE=
-----END PRIVATE KEY-----

Pod内に即時反映されたのはシークレットをボリュームとしてマウントしていたためです。

シークレットの値を変更する場合、値 (すでに実行されている Pod で使用される値) は動的に変更されません。
シークレットを変更するには、元の Pod を削除してから新規の Pod を作成する必要があります
 (同じ PodSpec を使用する場合があります)。
シークレットをボリュームとしてマウントする場合、シークレットは自動的に更新されます。 

20.1.4. シークレットの更新

3. WebアクセスしてSSL証明書を確認する

アプリケーションが利用しているSSL証明書も新しくなっているか確認します。

Webアクセス時に利用しているSSL証明書は更新前のものでした。

-----BEGIN CERTIFICATE-----
MIIDT~~~Avo+iE+Cs4w==
-----END CERTIFICATE-----

4. SSL証明書を反映するため、デプロイメントする

既存の DeploymentConfig から新規デプロイメントプロセスを開始します。

> oc rollout latest dc/iag

Podが新しく作成されます。

> oc get po -w
NAME           READY   STATUS      RESTARTS   AGE
iag-1-build    0/1     Completed   0          17h
iag-1-deploy   0/1     Completed   0          17h
iag-2-4k2h8    1/1     Running     0          17h
iag-2-deploy   0/1     Completed   0          17h
iag-3-deploy   0/1     Pending     0          0s
iag-3-deploy   0/1     Pending     0          0s
iag-3-deploy   0/1     ContainerCreating   0          0s
iag-3-deploy   0/1     ContainerCreating   0          2s
iag-3-deploy   0/1     ContainerCreating   0          2s
iag-3-deploy   1/1     Running             0          3s
iag-3-n7mvk    0/1     Pending             0          0s
iag-3-n7mvk    0/1     Pending             0          0s
iag-3-n7mvk    0/1     ContainerCreating   0          0s
iag-3-n7mvk    0/1     ContainerCreating   0          2s
iag-3-n7mvk    0/1     ContainerCreating   0          2s
iag-3-n7mvk    0/1     ContainerCreating   0          2s
iag-3-n7mvk    0/1     Running             0          3s
iag-3-n7mvk    1/1     Running             0          11s
iag-2-4k2h8    1/1     Terminating         0          17h
iag-2-4k2h8    1/1     Terminating         0          17h
iag-2-4k2h8    0/1     Terminating         0          17h
iag-3-deploy   0/1     Completed           0          18s
iag-3-deploy   0/1     Completed           0          19s
iag-2-4k2h8    0/1     Terminating         0          17h
iag-2-4k2h8    0/1     Terminating         0          17h

5. WebアクセスしてSSL証明書を確認する

新しいPodがデプロイされたため、再度ブラウザから証明書を確認します。
Podが再作成されたため、新しい証明書が利用されていました。

-----BEGIN CERTIFICATE-----
MIIDT~~~M6eix/3to0w==
-----END CERTIFICATE-----

最後に

今回は、SSL証明書の差し替えをイメージしたSecretの更新を試してみました。

DeploymentConfigでなく、Deploymentの場合は、restartが使えそうです。

リソースを再起動します。 
oc rollout restart

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?