将docker compose转换为helm图表?

将docker compose转换为helm图表?,docker,docker-compose,kubernetes-helm,kubernetes-pod,helmfile,Docker,Docker Compose,Kubernetes Helm,Kubernetes Pod,Helmfile,我有一个docker compose文件,其中包含我正在使用的安全工具的2个图像。我的挑战是将其转换为由deployment.yaml和service.yaml组成的掌舵图。docker compose看起来像这样- version: '3' services: nginx: ports: - "80:80" - "443:443" environment: - NG_SERVER_NAME=192.168.1.228

我有一个docker compose文件,其中包含我正在使用的安全工具的2个图像。我的挑战是将其转换为由deployment.yaml和service.yaml组成的掌舵图。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服务器也在运行,我可以将其转换为helm图表,并将其暴露在端口5432上的我的ip(192.168.1.228)上。但是对于相互关联的iriusrisk和tomcat图像,我无法理解。这是我针对这两种部署文件的解决方案

部署-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图表转换为docker compose文件。但是从docker compose到kubernetes资源清单的转换可以通过使用类似()的工具来完成。

该工具现在包括从docker-compose.yml文件转换为Helm图表的功能:

kompose convert-c


查看kompose文档。

我认为没有必要将helm图表转换为docker compose。您可以使用Minikube运行本地所需的任何内容。否则,另一种选择是在本地运行容器并进行反向工程。i、 e.生成docker编写文件。这里有一个指向GitHub的链接,可以为您实现这一点


好运

“链接”即使在当前的Docker中也没有任何意义。在Kubernetes中,你几乎总是需要一个路由连接到一个吊舱,甚至在吊舱之间。我希望此设置需要两个部署、两个服务和一个秘密。谢谢。我将尝试计算部署和服务的yaml文件。谢谢。我会看看这个工具。我们有什么东西可以把舵手图表转换成docker compose文件吗。我们需要我们的开发环境,它不支持kubernetes,但我们需要重用我们的头盔charts@Tiny在这种情况下,它需要编写自定义转换。@ShudiptaSharma-任何可以使用的工具?kompose现在包括一个选项
kompose convert-c
,该选项指向替代转换,指向死角。@JuanJimenez这很奇怪。我刚才检查的时候链接是实时的。我想知道它是否受到了快速CDN中断的影响。