开发者社区> 问答> 正文

我需要有关docker-compose.yml的信息 - 如何配置/导出到kubernetes ingress

我正在构建一个用PHP / Symfony4编写的应用程序。我准备了一个API服务和一些用NodeJS / Express编写的服务。我正在使用Google Cloud Platform配置服务器结构。目前,最好的想法是使用负载均衡器进行多区域多集群配置。

我使用此链接https://github.com/GoogleCloudPlatform/k8s-multicluster-ingress/tree/master/examples/zone-printer作为我配置的来源。但现在我不知道如何上传/构建docker-compose.yml可以在Google Kubernetes中使用的GCR。

version: '3'
services:
php:

image: gcr.io/XXX/php
build: build/php
expose:
    - '9000'
volumes:
    - ./symfony:/var/www/html/symfony:cached
    - ./logs:/var/log

web:

image: gcr.io/XXX/nginx
build: build/nginx
restart: always
ports:
    - "81:80"
depends_on:
    - php
volumes:
    - ./symfony:/var/www/html/symfony:cached
    - ./logs:/var/log/nginx

我需要一个容器GCR.io/XXX/XXX/XXX用于kubernetes-ingress配置。我应该使用docker-compose.yml还是找其他东西?哪种解决方案最好?

展开
收起
k8s小能手 2019-01-11 11:24:11 3593 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    docker-compose和Kubernetes声明彼此不兼容。如果您想使用Kubernetes,您可以使用带有2个容器的Pod(根据您的示例)。如果您想更进一步,可以使用可以管理pod副本的Kubernetes 部署,以防您使用多个副本。

    像这样的东西:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: my-deployment
    labels:

    app: myapp

    spec:
    replicas: 1
    selector:

    matchLabels:
      app: myapp

    template:

    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: php
        image: gcr.io/XXX/php
        ports:
        - containerPort: 9000
        volumeMounts:
        - mountPath: /var/www/html/symfony
          name: symphony
        - mountPath: /var/log
          name: logs
      - name: web
        image: gcr.io/XXX/nginx
        ports:
        - containerPort: 80
        volumeMounts:
        - mountPath: /var/www/html/symfony
          name: symphony
        - mountPath: /var/log
          name: logs
      volumes:
      - name: symphony
        hostPath:
          path: /home/symphony
      - name: logs
        hostPath:
          path: /home/logs

    更进一步,您可以删除Web容器并使用nginx入口控制器。

    2019-07-17 23:25:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载