e.V4p.C0/index.php,php-fpm进程在Kubernetes中接收SIGKILL信号

我已经在其中配置了Nginx,PHP和php-fpm创建了ubuntu docker镜像 . 当我在Docker实例上运行它时工作正常 .

但是当我在kubernetes中运行相同的图像时,php-fpm进程收到SIGKILL(9)信号,我们得到502个网关错误 .

我想是kubernetes将SIGKILL信号发送到kubernetes pods . 我没有在kubernetes模板中使用任何准备和活力探测器 .

感谢任何帮助 . 提前致谢 .

有关详细信息,请在下面找到docker文件和php-fpm日志,

Dockerfile

FROM ubuntu

#install utilities tools

RUN apt-get update \

&& apt-get install -y vim unzip curl python-software-properties software-properties-common locales supervisor

# Update software list, install php-nginx & clear cache

RUN locale-gen en_US.UTF-8 && \

export LANG=en_US.UTF-8 && \

add-apt-repository -y ppa:ondrej/php && \

apt-get update && \

apt-get upgrade -y && \

apt-get install -y --force-yes nginx \

php5.6 php5.6-zip php5.6-fpm php5.6-cli php5.6-mysql php5.6-mcrypt php5.6-xml\

php5.6-curl php5.6-gd && \

apt-get clean && \

rm -rf /var/lib/apt/lists/* \

/tmp/* \

/var/tmp/*

# Configure nginx

RUN echo "daemon off;" >> /etc/nginx/nginx.conf

RUN sed -i "s/sendfile on/sendfile off/" /etc/nginx/nginx.conf

RUN mkdir -p /var/www/html

# Configure PHP

RUN sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/5.6/fpm/php.ini && \

sed -i -e "s/;date.timezone =.*/date.timezone = America\/Argentina\/Buenos_Aires/" /etc/php/5.6/fpm/php.ini && \

sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/5.6/fpm/php.ini && \

sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/5.6/fpm/php.ini && \

sed -i -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" /etc/php/5.6/fpm/php.ini

##Updated for PHP 5.6

RUN sed -i -e "s/;daemonize\s*=\s*yes/daemonize = no/g" /etc/php/5.6/fpm/php-fpm.conf && \

sed -i -e "s/pid =.*/pid = \/var\/run\/php-fpm.pid/" /etc/php/5.6/fpm/php-fpm.conf && \

sed -i -e "s/listen =.*sock/listen = 127.0.0.1:9000/" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/;clear_env = no/clear_env = no/" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/;catch_workers_output\s*=\s*yes/catch_workers_output = yes/g" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/pm.max_children = 5/pm.max_children = 4/g" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/pm.start_servers = 2/pm.start_servers = 3/g" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/pm.min_spare_servers = 1/pm.min_spare_servers = 2/g" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/pm.max_spare_servers = 3/pm.max_spare_servers = 4/g" /etc/php/5.6/fpm/pool.d/www.conf && \

sed -i -e "s/;pm.max_requests = 500/pm.max_requests = 200/g" /etc/php/5.6/fpm/pool.d/www.conf

RUN sed -i -e "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/5.6/cli/php.ini && \

sed -i -e "s/;date.timezone =.*/date.timezone = America\/Argentina\/Buenos_Aires/" /etc/php/5.6/cli/php.ini && \

sed -i -e "s/upload_max_filesize\s*=\s*2M/upload_max_filesize = 100M/g" /etc/php/5.6/cli/php.ini && \

sed -i -e "s/post_max_size\s*=\s*8M/post_max_size = 100M/g" /etc/php/5.6/cli/php.ini && \

sed -i -e "s/variables_order = \"GPCS\"/variables_order = \"EGPCS\"/g" /etc/php/5.6/cli/php.ini

COPY opsconfig/default_server_config /etc/nginx/sites-available/default

COPY opsconfig/supervisor.conf /etc/supervisor/conf.d/supervisor.conf

RUN phpenmod -v 5.6 mcrypt && \

phpenmod -v 5.6 xdebug && \

phpenmod -v 5.6 zip

#install composer

RUN curl -O https://getcomposer.org/composer.phar && \

mv composer.phar /usr/local/bin/composer && \

chmod +x /usr/local/bin/composer

# Workdir

WORKDIR /var/www/html

COPY src/ /var/www/html/

RUN chown -R www-data:www-data /var/www/html

CMD ["/usr/bin/supervisord"]

supervisor.conf

[supervisord]

nodaemon=true

[program:php-fpm]

command=/usr/sbin/php-fpm5.6 --nodaemonize

[program:nginx]

command=/usr/sbin/nginx

autostart=true

autorestart=true

priority=10

stdout_events_enabled=true

stderr_events_enabled=true

stdout_logfile=/dev/stdout

stdout_logfile_maxbytes=0

stderr_logfile=/dev/stderr

php-fpm.log

[10-Oct-2017 16:52:02] NOTICE: fpm is running, pid 56

[10-Oct-2017 16:52:02] NOTICE: ready to handle connections

[10-Oct-2017 16:52:02] NOTICE: systemd monitor interval set to 10000ms

[10-Oct-2017 16:52:30] WARNING: [pool www] child 57 exited on signal 9 (SIGKILL) after 28.399445 seconds from start

[10-Oct-2017 16:52:30] NOTICE: [pool www] child 61 started

[10-Oct-2017 16:52:38] WARNING: [pool www] child 59 exited on signal 9 (SIGKILL) after 36.796172 seconds from start

[10-Oct-2017 16:52:38] NOTICE: [pool www] child 62 started

[10-Oct-2017 16:53:15] WARNING: [pool www] child 58 exited on signal 9 (SIGKILL) after 73.299127 seconds from start

[10-Oct-2017 16:53:15] NOTICE: [pool www] child 63 started

[10-Oct-2017 17:45:02] WARNING: [pool www] child 62 exited on signal 9 (SIGKILL) after 3143.801344 seconds from start

[10-Oct-2017 17:45:02] NOTICE: [pool www] child 64 started

Nginx日志

2017/10/10 16:53:15 [error] 11#11: *162 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.244.2.49, server: _, request: "GET /admin/index.php?route=common/dashboard&token=V4iXjKHenn2ZOIldfn4pmIHcTIHiFoxk HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "shop9.homesourcesystems.net", referrer: "https://domain_name/admin/"

2017/10/10 17:45:02 [error] 11#11: *166 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 10.244.2.49, server: _, request: "GET /admin/index.php?route=common/dashboard&token=sFiMAItAgX22BarBfcNNVuyin50ZauIa HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "shop9.homesourcesystems.net", referrer: "https://domain_name/admin/"

Pod定义

Name: bumptious-beetle-3107682338-qlvcf

Namespace: testns

Node: k8s-agent-1/10.240.0.4

Start Time: Wed, 11 Oct 2017 09:26:21 +0000

Labels: app=testapp

pod-template-hash=3107682338

release=bumptious-beetle

Annotations: checksum/config=466a2fbe40164c0f5a10a06e26417c92a47422720e96c4fb51562eb8388d282f

kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"testns","name":"bumptious-beetle-3107682338","uid":"3e2745b7-ae66...

Status: Running

IP: 10.244.0.205

Controllers: ReplicaSet/bumptious-beetle-3107682338

Containers:

hstestns:

Container ID: docker://31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75

Image: phpnginx:1.9

Image ID: docker-pullable://phpnginx@sha256:7dfb96e283f0802e72249aeb252d3e6290dec00591c442da80bfa4727cef7ca5

Port: 80/TCP

State: Running

Started: Wed, 11 Oct 2017 09:26:42 +0000

Ready: True

Restart Count: 0

Limits:

cpu: 100m

memory: 50Mi

Requests:

cpu: 10m

memory: 40Mi

Environment Variables from:

bumptious-beetle ConfigMap Optional: false

Environment:

Mounts:

/var/run/secrets/kubernetes.io/serviceaccount from default-token-ptkqw (ro)

Conditions:

Type Status

Initialized True

Ready True

PodScheduled True

Volumes:

default-token-ptkqw:

Type: Secret (a volume populated by a Secret)

SecretName: default-token-ptkqw

Optional: false

QoS Class: Burstable

Node-Selectors:

Tolerations:

Events:

FirstSeen LastSeen Count From SubObjectPath Type Reason Message

--------- -------- ----- ---- ------------- -------- ------ -------

13m 13m 1 default-scheduler Normal Scheduled Successfully assigned bumptious-beetle-3107682338-qlvcf to k8s-agent-1

13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Pulling pulling image "phpnginx:1.9"

13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Pulled Successfully pulled image "phpnginx:1.9"

13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Created Created container with id 31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75

13m 13m 1 kubelet, k8s-agent-1 spec.containers{hsecommerce} Normal Started Started container with id 31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75

此致,拉胡尔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编写php服务的dockerfile文档,满足如下要求: 1)基础镜像:centos:7 2)作者信息:姓名首字母 3)下载gcc gcc-c++ gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel make perl 4)将本地文件libzip-1.2.0.tar.gz解压并复制到容器的/tmp 5)通过以下命令对libzip进行配置编译: cd /tmp/libzip-1.2.0 && ./configure && make && make install 6)在容器复制并解压文件php-7.3.9.tar.gz到/tmp文件夹,然后进入到/tmp/php-7.3.9文件夹下,并通过以下命令进行编译: ./configure --prefix=/usr/local/php \ --with-config-file-path=/usr/local/php/etc \ --with-mysql --with-mysqli \ --with-openssl --with-zlib --with-curl --with-gd \ --with-jpeg-dir --with-png-dir --with-iconv \ --enable-fpm --enable-zip --enable-mbstring 6)在容器将/usr/local/lib/libzip/include/zipconf.h文件复制到 /usr/local/include/文件加下 7)继续进行编译make -j 4 && make install 8)在容器将/usr/local/php/etc/php-fpm.conf.default文件复制为 /usr/local/php/etc/php-fpm.conf文件 9)在容器将文件/usr/local/php/etc/php-fpm.d/www.conf.default 复制成/usr/local/php/etc/php-fpm.d/www.conf 文件 10)在容器修改/usr/local/php/etc/php-fpm.d/www.conf文件的127.0.0.1为0.0.0.0 11)在容器复制./sapi/fpm/init.d.php-fpm文件成 /etc/init.d/php-fpm文件 12)在容器修改/etc/init.d/php-fpm权限为可执行 13)端口9000 14)在容器启动时执行命令:/etc/init.d/php-fpm start && tail -F /var/log/messages
最新发布
06-09

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值