
云原生
利用kurise做日志采集使用promtail做sidecar采集日志
利用OpenKurise中的kruise做日志采集,原来我使用的是filebeat作为sidecar采集日志的,虽然采集没有什么问题,但是通过es进才看日志就比较繁琐了,这次实验p
php_star="/usr/sbin/php-fpm"
nginx_star='/usr/local/nginx/sbin/nginx -g "daemon off;"'
apollo_start="php /usr/local/nginx/html/apollo-php-client/apollo.php >/dev/null 2>&1 &"
apollo='`ps -ef |grep -w apollo|grep -v grep|wc -l`'
echo -e "
#!/bin/bash
while true
do
if [ ${apollo} -le 0 ];then
echo "testPro is not run"
sh /usr/local/nginx/html/apollo-php-client/start.sh
else
break
fi
done
${php_star}
${nginx_star} " > enpoint.sh
cat << EOF > Dockerfile
FROM .aliyuncs.com/reatil-harb/web-image-service:1.0
COPY . /usr/local/nginx/html/
RUN chown -R www:www /usr/local/nginx/html/
WORKDIR /usr/local/nginx/html/apollo-php-client
RUN rm -rf vendor
RUN composer require multilinguals/apollo-client --ignore-platform-reqs
RUN chmod +x start.sh
EXPOSE 80
EXPOSE 443
EXPOSE 9000
COPY enpoint.sh /usr/sbin/enpoint
RUN chmod +x /usr/sbin/enpoint
CMD ["/bin/bash","enpoint"]
EOF
上面是启动脚本,因为apollo做了一个循环,这里的循环是为了确定apollo能够获取到信息,终止循环,最后是启动php-fpm和nginx服务,把这个脚本copy到容器后,直接启动脚本即可,这里需要注意的是启动顺序,如果先启动nginx就会出现用户请求过来了,但是服务还没有拉取到apollo的信息,造成用户请求不可用。
评论 0