php fpm进程在Kubernetes中接收SIGKILL信号

php fpm进程在Kubernetes中接收SIGKILL信号,php,nginx,kubernetes,kubernetes-helm,Php,Nginx,Kubernetes,Kubernetes Helm,我已经创建了ubuntu docker映像,其中配置了Nginx、PHP和PHP fpm。当我在Docker实例上运行它时,它工作正常 但是当我在kubernetes中运行相同的映像时,php fpm进程接收到SIGKILL(9)信号,我们得到502个网关错误 我猜是库伯内特斯向库伯内特斯吊舱发送SIGKILL信号。我没有在kubernetes模板中使用任何准备就绪和活跃性探测 谢谢你的帮助。提前谢谢 有关详细信息,请在下面查找docker文件和php fpm日志 Dockerfile supe

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

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

我猜是库伯内特斯向库伯内特斯吊舱发送SIGKILL信号。我没有在kubernetes模板中使用任何准备就绪和活跃性探测

谢谢你的帮助。提前谢谢

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

Dockerfile supervisor.conf php-fpm.log Nginx日志 Pod定义
名称:bumputil-bellet-3107682338-qlvcf
名称空间:testns
节点:k8s-agent-1/10.240.0.4
开始时间:2017年10月11日星期三09:26:21+0000
标签:app=testapp
pod模板哈希=3107682338
释放=狂妄的甲虫
注释:校验和/配置=466a2fbe40164c0f5a10a06e26417c92a47422720e96c4fb51562eb8388d282f
io/创建人={“种类”:“序列化引用”,“apiVersion”:“v1”,“引用”:{“种类”:“复制集”,“命名空间”:“testns”,“名称”:“bumputil-bellet-3107682338”,“uid”:“3e2745b7-ae66…”。。。
状态:正在运行
IP:10.244.0.205
控制器:ReplicaSet/Bumputil-甲壳虫-3107682338
容器:
hstestns:
容器ID:docker://31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75
图片:phpnginx:1.9
图像ID:docker-pullable://phpnginx@sha256:7DFB96E283F0802E72249EB252D3E6290DEC0591C442DA80BFA4727CEF7CA5
端口:80/TCP
状态:正在运行
开始时间:2017年10月11日星期三09:26:42+0000
准备好了吗
重新启动计数:0
限制:
中央处理器:100米
内存:50Mi
请求:
中央处理器:10米
内存:40Mi
环境变量来自:
自命不凡的甲虫配置映射可选:false
环境:
挂载:
/来自默认令牌ptkqw(ro)的var/run/secrets/kubernetes.io/serviceaccount
条件:
类型状态
初始化为True
准备好了吗
播客预定为真
卷数:
默认令牌ptkqw:
类型:Secret(由Secret填充的卷)
SecretName:默认令牌ptkqw
可选:false
QoS等级:Burstable
节点选择器:
容忍:
活动:
子对象路径类型原因消息中的FirstSeen LastSeen计数
---------     --------        -----   ----                            -------------                   --------        ------          -------
13m 13m 1默认计划程序正常调度已成功将Bumptuble-甲壳虫-3107682338-qlvcf分配给k8s-agent-1
13m 13m 1 kubelet,k8s-agent-1规格容器{hsecommerce}正常拉动图像“phpnginx:1.9”
13m 13m 1 kubelet,k8s-agent-1规格容器{hsecommerce}正常拉取成功拉取图像“phpnginx:1.9”
13m 13m 1 kubelet,k8s-agent-1规范容器{hsecommerce}正常创建的容器,id为31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75
13m 13m 1 kubelet,k8s-agent-1规格容器{hs电子商务}正常启动id为31477927d3d0ac1b3f2fe662601d1d65d2a6d1fb442e580f9c1836e921a85f75的容器
问候,,
Rahul

考虑到您希望在PHP fpm管理的内部运行多个PHP进程,您的内存限制非常低。您的进程很可能由于此内存限制而被终止。我建议将内存限制切换到400Mi之类的值,然后再次检查。

请提供您的pod(或部署)定义和
kubectl描述获得sigkills的pod的pod
。@Radek'Goblin'Pieczonka我在问题中添加了pod定义。可能是这个bug:谢谢@Radek,像施咒一样增加内存工作!!进程是通过什么方式被终止的?调用pod停止/终止会发生这种情况吗首先?还是直接在进程上?还有为什么会是一个
SIGKIL
?@ChrisStryczynski,Kubernetes在分配给特定pod的内存或CPU限制达到阈值时发送和SIGKIL系统调用,以终止该pod并创建一个新pod。
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"]
[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
[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
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/"
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:                        <none>
    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: <none>
Tolerations:    <none>
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