Autodevops for php:7.2-apache

Hi all,

I am trying to deploy an php:7.2-apache image in kuberntes via using AutoDevOps.
I have successfully deployed node applications, on port 5000 , using the image node:11.13.0-alpine , so I know that my ingress and k8s work fine.

The build phase goes fine. I can also download locally the image and it runs fine when I run it with docker locally.

The problem is that the review phase fails with:

Error: release review-kubernitis-vroiqr failed: timed out waiting for the condition

tiller.log reports that :

[kube] 2020/10/12 11:34:31 building resources from manifest
[kube] 2020/10/12 11:34:31 creating 3 resource(s)
[kube] 2020/10/12 11:34:31 beginning wait for 3 resources with timeout of 5m0s
[kube] 2020/10/12 11:34:33 Deployment is not ready: my-repo/review-mybrandh-randomchars
.
.
[tiller] 2020/10/12 11:39:32 warning: Release "review-mybrandh-randomchars" failed: timed out waiting for the condition

Locally, my docker-compose is very simple:

  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
        - "5000:5000"

And the Dockerfile is this:

FROM php:7.2-apache

RUN apt-get -y update \
&& apt-get install -y libicu-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl

# Install Postgre PDO
RUN apt-get install -y libpq-dev \
    && docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
    && docker-php-ext-install pdo pdo_pgsql pgsql

RUN apt-get install git -y

RUN apt-get install zip unzip

RUN sed -i "s/Listen 80/Listen 5000/" /etc/apache2/ports.conf
RUN sed -i "s/80>/5000>/" /etc/apache2/sites-enabled/000-default.conf 

COPY . /var/www/html

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN composer install

EXPOSE 5000

One other thing is that while I only have a single service in my app, I keep on seeing three services trying to be spinned in the logs (in the GUI of gitlab).


with the two of them named cm-acme-http-solver-…

I think that they are related to certificate creation, but I don’t understand how or why they are there (or if they are the ones that don’t satisfy the livenessProbe and therefore making the whole thing fail.

I have also raised the times for the readiness and liveness problems in the .gitlab/auto-deploy-values.yaml to:

livenessProbe:
  httpGet:
    path: /
    port: 80
  initialDelaySeconds: 35
  timeoutSeconds: 30
  scheme: "HTTP"
  probeType: "httpGet"
readinessProbe:
  httpGet:
    path: /
    port: 80  
  initialDelaySeconds: 25
  timeoutSeconds: 15
  scheme: "HTTP"
  probeType: "httpGet"

Any ideas what to look for next?