2.3. OpenShift リソースの作成
このセクションでは、これらの新しい要素の作成に必要な手順について説明します。3scale 2.6 リリースの一環として、次の OpenShift 要素が追加されました。
データベース用の新しい ImageStreams:
- backend-redis
- system-redis
- system-memcached
- system-mysql
- zync-database-postgresql
以下の OpenShift オブジェクトを含む新しい
zync-que
コンポーネント:-
zync-que
DeploymentConfig -
zync-que-sa
ServiceAccount -
zync-que
ロール -
zync-que-rolebinding
RoleBinding
-
新しい OpenShift 要素を作成するには、次の手順に従います。
3scale 2.5 のデプロイ時に設定された WildcardDomain を含む次の環境変数を作成します。
$ THREESCALE_WILDCARD_DOMAIN=$(oc get configmap system-environment -o json | jq .data.THREESCALE_SUPERDOMAIN -r)
THREESCALE_WILDCARD_DOMAIN 環境変数が空ではなく、3scale 2.5 のデプロイ時に設定されたワイルドカードドメインと同じ値であることを確認します。
$ echo ${THREESCALE_WILDCARD_DOMAIN}
ImageStreams に設定された
ImportPolicy
ImageStream 値を含む次の環境変数を作成します。$ IMPORT_POLICY_VAL=$(oc get imagestream amp-system -o json | jq -r ".spec.tags[0].importPolicy.insecure") if [ "$IMPORT_POLICY_VAL" == "null" ]; then IMPORT_POLICY_VAL="false" fi
IMPORT_POLICY_VAL 環境変数が true または false であることを確認します。
$ echo ${IMPORT_POLICY_VAL}
3scale Pod の
アプリ
Kubernetes ラベルの現在の値を含む次の環境変数を作成します。たとえば、backend-listener
Pod から取得します。$ DEPLOYED_APP_LABEL=$(oc get dc backend-listener -o json | jq .spec.template.metadata.labels.app -r)
DEPLOYED_APP_LABEL 環境変数が空でも
null
でもないことを確認します。$ echo ${DEPLOYED_APP_LABEL}
3scale 2.6
amp.yml
標準シナリオテンプレートを使用して、2.6 リリース用の新しい OpenShift オブジェクトをデプロイします。$ oc new-app -f amp.yml --param WILDCARD_DOMAIN=${THREESCALE_WILDCARD_DOMAIN} --param IMAGESTREAM_TAG_IMPORT_INSECURE=${IMPORT_POLICY_VAL} --param APP_LABEL=${DEPLOYED_APP_LABEL}
いくつかのエラーが表示されます。一部の要素は 3scale 2.5 にすでに存在していたため、これらは想定範囲内です。エラーでない行で、表示されているものには、以下が挙げられます。
imagestream.image.openshift.io "zync-database-postgresql" created imagestream.image.openshift.io "backend-redis" created imagestream.image.openshift.io "system-redis" created imagestream.image.openshift.io "system-memcached" created imagestream.image.openshift.io "system-mysql" created role.rbac.authorization.k8s.io "zync-que-role" created serviceaccount "zync-que-sa" created rolebinding.rbac.authorization.k8s.io "zync-que-rolebinding" created deploymentconfig.apps.openshift.io "zync-que" created
前述のすべての新しい ImageStreams と、すべての新しい zync-que 関連要素が存在することを確認します。
$ oc get is system-redis $ oc get is system-mysql $ oc get is system-memcached $ oc get is zync-database-postgresql $ oc get is backend-redis $ oc get role zync-que-role $ oc get sa zync-que-sa $ oc get rolebinding zync-que-rolebinding $ oc get dc zync-que
前のコマンドはすべて、それらが作成されたことを示す出力を返します。また、次のように入力した場合:
$ oc get pods | grep -i zync-que
そのステータスが エラー またはクラッシュしていることを示すその他のエラーであることがわかります。この時点では Zync イメージが更新されていないため、これは想定範囲内です。これは、「3scale イメージのアップグレード」セクション のポイント 4 で行われます。