サービスおよびエンドポイントが定義されたので、適切なコンテナーの環境変数を設定し、適切な Pod が認証情報にアクセスしてサービスを使用できるようにします。
kind: "DeploymentConfig"
apiVersion: "v1"
metadata:
name: "my-app-deployment"
spec:
strategy:
type: "Rolling"
rollingParams:
updatePeriodSeconds: 1
intervalSeconds: 1
timeoutSeconds: 120
replicas: 2
selector:
name: "frontend"
template:
metadata:
labels:
name: "frontend"
spec:
containers:
-
name: "helloworld"
image: "origin-ruby-sample"
ports:
-
containerPort: 3306
protocol: "TCP"
env:
-
name: "MYSQL_USER"
value: "${MYSQL_USER}"
-
name: "MYSQL_PASSWORD"
value: "${MYSQL_PASSWORD}"
-
name: "MYSQL_DATABASE"
value: "${MYSQL_DATABASE}"
kind: "DeploymentConfig"
apiVersion: "v1"
metadata:
name: "my-app-deployment"
spec:
1
strategy:
type: "Rolling"
rollingParams:
updatePeriodSeconds: 1
2
intervalSeconds: 1
3
timeoutSeconds: 120
replicas: 2
selector:
name: "frontend"
template:
metadata:
labels:
name: "frontend"
spec:
containers:
-
name: "helloworld"
image: "origin-ruby-sample"
ports:
-
containerPort: 3306
protocol: "TCP"
env:
-
name: "MYSQL_USER"
value: "${MYSQL_USER}"
4
-
name: "MYSQL_PASSWORD"
value: "${MYSQL_PASSWORD}"
5
-
name: "MYSQL_DATABASE"
value: "${MYSQL_DATABASE}"
6
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
アプリケーションで外部サービスを使用することは内部サービスを使用することに似ています。アプリケーションには、直前の手順で説明されている認証情報と共に、サービスの環境変数と追加の環境変数が割り当てられます。たとえば、MySQL コンテナーは以下の環境変数を受信します。
アプリケーションは環境からサービスの位置情報 (coordinate) および認証情報を読み取り、サービス経由でデータベースとの接続を確立します。