과 같은 이미지의 다수의 포드/배치를 생성한다.는 Kubernetes I는 2 번의 포드 내부 용기 (<strong>용기 TEST2</strong> 및 <strong>cloudsql 프록시</strong>)와 배치가 다른 명령
컨테이너 테스트 2은 [ "my_app", "arg1", "arg2"]를 CMD로 전달하는 고정 이미지를 실행합니다. 다른 인수 조합으로이 컨테이너의 여러 인스턴스를 실행하고 싶습니다. 나는 노드들간에 배포 할 수 있도록 그것들을 별도의 포드로 실행하고 싶다. 나는 이것을 어떻게하는지 완전히 모릅니다.
두 컨테이너를 성공적으로 실행할 수 있지만 container-test2를 다른 인수로 복제하고 개별 컨테이너 내에서 각 컨테이너를 시작하는 방법을 모르겠습니다.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
metadata:
labels:
app: test
spec:
containers:
- image: gcr.io/testing-11111/testology:latest
name: container-test2
command: ["my_app", "arg1", "arg2"]
env:
- name: DB_HOST
# Connect to the SQL proxy over the local network on a fixed port.
# Change the [PORT] to the port number used by your database
# (e.g. 3306).
value: 127.0.0.1:5432
# These secrets are required to start the pod.
# [START cloudsql_secrets]
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: cloudsql-db-credentials
key: password
- name: DB_USER
valueFrom:
secretKeyRef:
name: cloudsql-db-credentials
key: username
# [END cloudsql_secrets]
resources:
requests:
#memory: "64Mi"
cpu: 0.1
limits:
memory: "375Mi"
cpu: 0.15
# Change [INSTANCE_CONNECTION_NAME] here to include your GCP
# project, the region of your Cloud SQL instance and the name
# of your Cloud SQL instance. The format is
# $PROJECT:$REGION:$INSTANCE
# Insert the port number used by your database.
# [START proxy_container]
- image: gcr.io/cloudsql-docker/gce-proxy:1.09
name: cloudsql-proxy
command: ["/cloud_sql_proxy", "--dir=/cloudsql",
"-instances=testing-11111:europe-west2:testology=tcp:5432",
"-credential_file=/secrets/cloudsql/credentials.json"]
volumeMounts:
- name: cloudsql-instance-credentials
mountPath: /secrets/cloudsql
readOnly: true
- name: ssl-certs
mountPath: /etc/ssl/certs
- name: cloudsql
mountPath: /cloudsql
# [END proxy_container]
resources:
requests:
#memory: "64Mi"
cpu: 0.1
limits:
memory: "375Mi"
cpu: 0.15
# [START volumes]
volumes:
- name: cloudsql-instance-credentials
secret:
secretName: cloudsql-instance-credentials
- name: ssl-certs
hostPath:
path: /etc/ssl/certs
- name: cloudsql
emptyDir:
# [END volumes]
편집 :
-f를 만들 kubectl : 솔루션
나는, "배포"디렉토리로 배포 설정의 여러 복사본을 만들어 이름과 명령을 개정 한 후 실행하여 해결 배포/당신은 할 수 없습니다
단일 배포 사양에이 방법을 사용할 수 있습니까? 예를 들어 "- image ..."섹션을 N 번 복사하고 "command : ..."명령을 조정하여 자체 포드에서 실행하도록 지정합니까? – s5s
아니요, 순수 큐빅이 없습니다. 하나의 파일에 여러 배포 사양을 넣거나 사용자의 지속적인 통합 워크 플로 등에서 사용할 솔루션을 스크립트로 작성할 수 있습니다. –
감사합니다. 배포/디렉토리를 만들고 포드 당 하나의 파일을 갖는 것으로 해결했습니다. – s5s