我已经在其中配置了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

此致,拉胡尔

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

  1. php fpm www.conf,PHP7中php.ini、php-fpm和www.conf 配置

    PHP7中php.ini.php-fpm和www.conf 配置 php.ini是php运行核心配置文件,下面是一些常用配置 extension_dir="" ● 设置PHP的扩展 ...

  2. 微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法

    微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法 参考文章: (1)微信小程序首页index.js获取不到app.js中动态设置的globalDat ...

  3. linux多进程server 进程池_Python 中的进程池与多进程

    封面图片来源:沙沙野 内容概览 进程池 进程池和多进程的性能测试 进程池的其他机制 进程池的回调函数 进程池 如果有多少个任务,就开启多少个进程,实际上并不划算.由于计算机的 cpu 个数是非常有限的 ...

  4. 【Linux 内核】进程管理 ( Linux 中进程的 CPU 资源调度 | 进程生命周期 | 创建状态 | 就绪状态 | 执行状态 | 阻塞状态 | 终止状态 | 进程生命周期之间的转换 )

    文章目录 一.Linux 中进程的 CPU 资源调度 二.进程生命周期 三.进程生命周期之间的转换 一.Linux 中进程的 CPU 资源调度 Linux 操作系统 是 多任务系统 , 可以 同时运行 ...

  5. linux的子进程和父进程,[Linux进程]在父进程和子进程中分别对文件进行操作

    [Linux进程]在父进程和子进程中分别对文件进行操作 发布时间:2020-04-10 19:36:49 来源:51CTO 阅读:917 作者:银河星君 /*子进程和父进程同时对一个文件进行写操作导致 ...

  6. 命名空间不能直接包含字段或方法之类的成员_Linux内存取证:解析用户空间进程堆(中)...

    上文我们对解析用户空间进程堆的动机和历史,做了一个简要的概述.另外,我们Glibc堆的3层结构也做了一些概述,这些结构是解析用户空间进程堆的关键.至于每个结构所起的作用,请看本文的分析. 内存视图 本 ...

  7. css 注入,electron程序,如何在主进程远程页面中注入js及css?

    本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规.大家都是程序员,不要闹得不开心. 每日一篇的苏南大叔写代码教程,又来了.在本文中,苏南大叔描述的是,在electron程序加载远程页面的时候,如 ...

  8. Nginx之进程间的通信机制(信号、信号量、文件锁)

    1. 信号 Nginx 在管理 master 进程和 worker 进程时大量使用了信号.Linux 定义的前 31 个信号是最常用的,Nginx 则通过重定义其中一些信号的处理方法来使用吸纳后,如接 ...

  9. linux中python进程,如何检查进程在python中运行(在linux中)?

    我想如果这个过程是基于进程名(test.py)上运行的检查,然后退出如何检查进程在python中运行(在linux中)? l = commands.getstatusoutput("ps a ...

最新文章

  1. 16S预测细菌表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等...
  2. 新 IDE 出现,程序员迎来危机?
  3. Android JSON数据解析(GSON方式)
  4. 《扩展 jQuery》——6.3 总结
  5. python异常之ModuleNotFoundError: No module named ‘test01inner02‘
  6. VJ 1033 整数分解(版本2)
  7. php gd 行间距设置,PHP动态修改GD库扩展问题
  8. 今天收到ORACLE 10G OCA 证书!
  9. c# html文件转换word,C#实现word转换成html文档 源码
  10. Node.js学习之路24——Express框架的app对象
  11. C# 中 ConcurrentDictionary 一定线程安全吗?
  12. linux centos7安装ngix,centos7 环境下安装nginx--Linux
  13. java中的final的使用
  14. zabbix监控哪些东西_监控系统选型,一篇全搞定
  15. C# 连接 Exchange 发送邮件
  16. MySQL保存计算结果_在数据库中保存计算结果如何对应到相应的工程文件
  17. iphone-common-codes-ccteam源代码 CCCommon.h
  18. 线性代数知识荟萃(2)——矩阵运算理论
  19. XP下使用submit text3遭遇死机强制重启导致以及代码数据丢失(无法读取源文件或磁盘)
  20. 如何评价@左耳朵耗子 的《关于阿里云经典网络的问题》?

热门文章

  1. docker通过镜像方式安装tomcat
  2. 多分类 数据不平衡的处理 lightgbm
  3. 矩阵乘法的性能提升 AutoKernel
  4. python list 删除元素
  5. python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
  6. LeetCode简单题之只出现一次的数字
  7. 国内操作系统OS分析(下)
  8. SLAM架构的两篇顶会论文解析
  9. dp,sp,px相互转化
  10. Django 上传图片和Admin站点5.2