故障现象:
基于alpine 3.7的镜像,构建的spring boot服务及eureka服务器。
在使用deployment和service文件部署到k8s集群之后,
在不同的pod内部,访问service服务名,时通不时通,但访问clusterip一直ok的。
===========================================================
解决:
查看了coredns的很多文档,配置都没有错误。
最后,试下基础镜像的问题(因为这一版的基础镜像,因为功能要求,和其它版本不一样)
将那个为了能在docker里非root用户运行crontab,及可以 更改alpine root密码的功能关掉,
重新制作业务镜像,OK了!
暂时未发现问题。
============================================================
与上述功能相关的docker设置:
apk add --update busybox-suid chmod 4755 /bin/busybox echo -e "xxxxxx\nxxxxxx" | passwd root
最后,贡献一个更改了上海时区,集成了curl,telnet,bash,还有glibc库的alpine镜像文件,18M左右。
FROM frolvlad/alpine-glibc:alpine-3.8_glibc-2.28 MAINTAINER frolvlad/alpine-glibc:alpine-3.8_glibc-2.28 ENV TIME_ZONE Asia/Shanghai RUN apk add --no-cache tzdata \ &&apk add --no-cache bash\ &&apk add --no-cache curl\ &&apk add --no-cache busybox-extras\ &&echo "${TIME_ZONE}" > /etc/timezone \ &&ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
如果要有此镜像中,新增用户,并指定uid,gid,可以用以下命令:
adduser a -D -S -s /bin/bash adduser b -D -S -s /bin/bash adduserc -D -S -s /bin/bash addgroup -g 100001 -S dockerGroup adduser dockerUser -u 10001 -D -S -s /bin/bash -G dockerGroup