kubesphere生產(chǎn)環(huán)境落地實(shí)踐(四)B2I鏡像本地化

原生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
...
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容