17.2.2. 2 단계: 서비스 사용
서비스 및 끝점이 정의되었으므로 적절한 컨테이너에서 환경 변수를 설정하여 서비스를 사용할 자격 증명에 적절한 Pod 액세스 권한을 부여합니다.
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
외부 데이터베이스 환경 변수
애플리케이션에서 외부 서비스를 사용하는 것은 내부 서비스를 사용하는 것과 유사합니다. 애플리케이션에는 서비스에 대한 환경 변수와 이전 단계에서 설명하는 자격 증명을 사용하여 추가 환경 변수가 할당됩니다. 예를 들어 MySQL 컨테이너는 다음 환경 변수를 수신합니다.
-
EXTERNAL_MYSQL_SERVICE_SERVICE_HOST=<ip_address>
-
EXTERNAL_MYSQL_SERVICE_SERVICE_PORT=<port_number>
-
MYSQL_USERNAME=<mysql_username>
-
MYSQL_PASSWORD=<mysql_password>
-
MYSQL_DATABASE_NAME=<mysql_database>
애플리케이션은 환경에서 서비스에 대한 좌표와 자격 증명을 읽고 서비스를 통해 데이터베이스와의 연결을 설정합니다.