将 Live 容器添加到 Kubernates 集群

时间:2021-02-24 08:28:44

标签: docker kubernetes containers google-kubernetes-engine

我使用 docker 容器来部署和管理我的系统,但现在我决定使用 Kubernetes 来为我的应用程序进行自动缩放,所以我有四个容器在同一个网络上工作 1-Nginx 2-Mysql 3-PHP-fpm 4-Redis 使用这个 yaml 文件配置

version: "3.3"  # optional since v1.27.0
networks:
  test:
services:
  nginx :
    image: nginx:stable-alpine
    container_name: Test_Qsinav
    depends_on: 
      - php
      - mysql
    volumes:
      - /var/www/html/Test/qSinav-starter:/var/www/html/Test/qSinav-starter/
      - /var/www/docker_test/nginx/default.conf:/etc/nginx/conf.d/default.conf
      - /var/www/cert:/var/www/cert
    networks:
      - test
  mysql:
    image: library/mysql:8.0.21
    container_name: QsinavTestMysql
    restart: unless-stopped
    tty: true
    volumes:
     - /var/www/docker_test/mysql/my.cnf:/etc/mysql/my.cnf
    environment:
      MYSQL_DATABASE: qsinav_demo
      MYSQL_USER: root
      MYSQL_PASSWORD: QsinavPassw0rd!
      MYSQL_ROOT_PASSWORD: QsinavPassw0rd!
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
    networks:
      - test

  php:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: Test_php
    working_dir:  /var/www/html/Test/qSinav-starter
    volumes:
      - /var/www/html/Test/qSinav-starter:/var/www/html/Test/qSinav-starter
      - /var/www/html/docker_laravel/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
      - ./php/docker-php-memlimit.ini:/usr/local/etc/php/conf.d/docker-php-memlimit.ini
    ports:
    - "10000:9000"
    networks:
      - test
    links:
      - redis
  redis:
    image: redis
    container_name: TestRedis
    networks:
     - test

这是 Docker 文件

FROM php:7.4-fpm-alpine
RUN apk add pcre-dev $PHPIZE_DEPS \
        && pecl install redis \
        && docker-php-ext-enable redis.so
RUN apk add libzip-dev libpng-dev 
RUN apk add  --update libmemcached-libs zlib
RUN set -xe && \
    cd /tmp/ && \
    apk add --no-cache --update --virtual .phpize-deps $PHPIZE_DEPS && \
    apk add --no-cache --update --virtual .memcached-deps zlib-dev libmemcached-dev cyrus-sasl-dev && \
# Install igbinary (memcached's deps)
    pecl install igbinary && \
# Install memcached
    ( \
        pecl install --nobuild memcached && \
        cd "$(pecl config-get temp_dir)/memcached" && \
        phpize && \
        ./configure --enable-memcached-igbinary && \
        make -j$(nproc) && \
        make install && \
        cd /tmp/ \
    ) && \
# Enable PHP extensions
    docker-php-ext-enable igbinary memcached && \
    rm -rf /tmp/* && \
    apk del .memcached-deps .phpize-deps


RUN docker-php-ext-install mysqli pdo pdo_mysql zip gd  bcmath exif 
RUN docker-php-ext-install bcmath

RUN curl --silent --show-error https://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer

这些容器正常工作,我定义了卷以便从主机更改容器中的文件
那么我怎样才能用 Kubernetes 做这个结构并定义 HPA 谢谢

0 个答案:

没有答案