原生kubesphere的B2I鏡像不太滿足我們實(shí)際的業(yè)務(wù)需求,針對(duì)B2I鏡像我們做了一些本地化內(nèi)容
1. 鏡像內(nèi)添加Arthas
鏡像內(nèi)置 Arthas , 便于調(diào)試。
ADD arthas.tar.gz .
當(dāng)然,這樣做不太符合容器設(shè)計(jì)模式,不應(yīng)將非業(yè)務(wù)性內(nèi)容添加至業(yè)務(wù)容器內(nèi),比較合理的做法就是將這些工具類的內(nèi)容打包為debug鏡像,作為sidecar容器運(yùn)行。但不得不承認(rèn)打包在一起管理起來更為方便。
2. 鏡像內(nèi)添加skywalking-agent
為了方便集成鏈路追蹤,我們?cè)诨A(chǔ)鏡像內(nèi)置了skywalking-agent
RUN mkdir -p /app/plugins/skywalking
ADD skywalking-agent.tar.gz /app/plugins/skywalking
3.調(diào)整jvm參數(shù)
jvm參數(shù)在原有的基礎(chǔ)上添加以下內(nèi)容
# 時(shí)區(qū)
-Duser.timezone=GMT+08
# skywalking agent
-javaagent:/app/plugins/skywalking/skywalking-agent/skywalking-agent.jar=agent.service_name=${SW_AGENT_NAME},collector.backend_service=skywalking-oap.${SW_OAP_NAMESPACE:-serviceA}:11800
針對(duì)實(shí)際需求,我們拓展了B2I基礎(chǔ)鏡像(比如字體、openoffice等),并在部署階段調(diào)整B2I配置,最終B2I配置如下:
java
...
spec:
codeFramework: java
containerInfo:
- buildVolumes:
- 's2i_java_cache:/tmp/artifacts'
builderImage: 'harbor.wl.io/b2i/java-8-centos7:base'
runtimeArtifacts:
- source: /deployments
runtimeImage: 'harbor.wl.io/b2i/java-8-runtime:base'
- buildVolumes:
- 's2i_java_cache:/tmp/artifacts'
builderImage: 'harbor.wl.io/b2i/java-8-centos7:advance'
runtimeArtifacts:
- source: /deployments
runtimeImage: 'harbor.wl.io/b2i/java-8-runtime:advance'
- buildVolumes:
- 's2i_java_cache:/tmp/artifacts'
builderImage: 'harbor.wl.io/b2i/java-8-centos7:base'
runtimeArtifacts:
- source: /deployments
runtimeImage: 'harbor.wl.io/b2i/java-8-runtime:base'
defaultBaseImage: 'harbor.wl.io/b2i/java-8-centos7:base'
...
tomcat
...
spec:
codeFramework: java
containerInfo:
- buildVolumes:
- 's2i_java_cache:/tmp/artifacts'
builderImage: harbor.wl.io/b2i/tomcat8-java8-centos7
runtimeArtifacts:
- source: /deployments
runtimeImage: harbor.wl.io/b2i/tomcat8-java8-runtime
- buildVolumes:
- 's2i_java_cache:/tmp/artifacts'
builderImage: harbor.wl.io/b2i/tomcat9-java8-centos7
runtimeArtifacts:
- source: /deployments
runtimeImage: harbor.wl.io/b2i/tomcat9-java8-runtime
defaultBaseImage: harbor.wl.io/b2i/tomcat8-java8-centos7
...