私は2つのイメージを含むDocker-Composeファイルを持っています。私の挑戦は、展開yamlとservice.yamlからなるHELMチャートに変換することです。 Docker-Composeはこのように見えます -
version: '3'
services:
nginx:
ports:
- "80:80"
- "443:443"
environment:
- NG_SERVER_NAME=192.168.1.228
links:
- Tomcat8
image: continuumsecurity/iriusrisk-prod:nginx-prod-ssl
container_name: iriusrisk-nginx
volumes:
- "./cert.pem:/etc/nginx/ssl/star_iriusrisk_com.crt"
- "./key.pem:/etc/nginx/ssl/star_iriusrisk_com.key"
Tomcat8:
environment:
- IRIUS_DB_URL=jdbc\:postgresql\://192.168.1.228\:5432/iriusprod?user\=iriusprod&password\=alongandcomplexpassword2523
- IRIUS_EDITION=saas
- IRIUS_EXT_URL=http\://192.168.1.228
- grails_env=production
image: continuumsecurity/iriusrisk-prod:Tomcat8-2
container_name: iriusrisk-Tomcat8
_
Postgres Serverが実行されています。それを把握します。これは展開ファイルの両方の解決策でした。
展開-tomcat.yaml.
apiVersion: apps/v1
kind: Deployment
metadata:
name: Tomcat
labels:
app: {{ .Values.Tomcat.app.name }}
spec:
replicas: {{ .Values.Tomcat.replicas }}
selector:
matchLabels:
app: {{ .Values.Tomcat.app.name }}
template:
metadata:
labels:
app: {{ .Values.Tomcat.app.name }}
spec:
{{- if .Values.Tomcat.imagePullSecretsName }}
imagePullSecrets:
- name: {{ .Values.Tomcat.imagePullSecretsName }}
{{- end}}
restartPolicy: Always
serviceAccountName: {{ .Values.Tomcat.serviceAccountName }}
containers:
- name: {{ .Values.Tomcat.app.name }}
image: "{{ .Values.Tomcat.ImageName }}:{{ .Values.Tomcat.ImageTag }}"
container_name: iriusrisk-Tomcat8
imagePullPolicy: {{ .Values.Tomcat.ImagePullPolicy }}
ports:
- containerPort: {{ .Values.Tomcat.port }}
env:
- name: IRIUS_DB_URL
value: jdbc\:postgresql\://192.168.1.228\:5432/iriusprod?user\=iriusprod&password\=alongandcomplexpassword2523
- name: IRIUS_EDITION
value: saas
- name: IRIUS_EXT_URL
value: http\://192.168.1.228
- name: grails_env
value: production
_
展開-iriusrisk.yaml.
apiVersion: apps/v1
kind: Deployment
metadata:
name: iriusrisk
labels:
app: {{ .Values.iriusrisk.app.name }}
spec:
replicas: {{ .Values.iriusrisk.replicas }}
selector:
matchLabels:
app: {{ .Values.iriusrisk.app.name }}
template:
metadata:
labels:
app: {{ .Values.iriusrisk.app.name }}
spec:
{{- if .Values.iriusrisk.imagePullSecretsName }}
imagePullSecrets:
- name: {{ .Values.iriusrisk.imagePullSecretsName }}
{{- end}}
restartPolicy: Always
serviceAccountName: {{ .Values.iriusrisk.serviceAccountName }}
containers:
- name: {{ .Values.iriusrisk.app.name }}
image: "{{ .Values.iriusrisk.ImageName }}:{{ .Values.iriusrisk.ImageTag }}"
container_name: iriusrisk-nginx
imagePullPolicy: {{ .Values.iriusrisk.ImagePullPolicy }}
ports:
- containerPort: {{ .Values.iriusrisk.port }}
env:
- name: NG_SERVER_NAME
value: "192.168.1.228"
volumes:
- "./cert.pem:/etc/nginx/ssl/star_iriusrisk_com.crt"
- "./key.pem:/etc/nginx/ssl/star_iriusrisk_com.key"
_
この問題を解決する方法は?私は互いに「リンク」を見ましたが、私が試したソリューションのどれもではありませんでした。私はこれが少し新しくなっています。
現在の知識から、HELM-ChartをDocker-Composeファイルに変換するそのようなツールは開発または公開されていません。しかし、docker-compose
からkubernetesのリソースのマニフェストへの変換は、ツールを使用して kompose ( https://kompose.io )を使用して行うことができます。