应用性能管理 APM-Kubernetes如何接入APM:CCE APM SK加密实践

时间:2024-09-02 15:49:58

CCE APM SK加密实践

  1. 生成一个含有解密方法的jar包,假设jar包名为demo.jar , 内置解密类为com.demo.DecryptDemo,解密方法为decrypt(注意decrypt得是静态方法)。然后将该jar打包一个镜像,上传到镜像仓,获取密钥方法参见访问密钥
  2. 在CCE deployment yaml中添加一个initContainer属性,如下所示。

    示例:

    1. 步骤1中上传的镜像地址为swr.cn-north-5.myhuaweicloud.com/hwstaff_pub_apmpaasw3/decrypt:v2
    2. 解密的类名为com.demo.DecryptDemo,解密方法为decrypt。
      按如下方式添加一个initContainer,注意替换加粗部分。
      initContainers:
        - name: init-secret
          image: swr.cn-north-5.myhuaweicloud.com/hwstaff_pub_apmpaasw3/decrypt:v2
          command:
            - /bin/sh
            - '-c'
            - cp /root/com.demo.DecryptDemo.jar /var/init/secret/apm-javaagent/ext; sed -i 's%#decrypt.className=.*%decrypt.className=com.demo.DecryptDemo%g' /var/init/secret/apm-javaagent/apm.config; sed -i 's%#decrypt.methodName=.*%decrypt.methodName=decrypt%g' /var/init/secret/apm-javaagent/apm.config;
          resources:
            limits:
              cpu: 100m
              memory: 100Mi
            requests:
              cpu: 100m
              memory: 100Mi
          volumeMounts:
            - name: paas-apm2
              mountPath: /var/init/secret

      添加该initContainer可以实现将jar包复制到apm-javaagent/ext目录下,以及修改配置文件的目的。

  3. 在apm页面获取AK 和SK,然后对sk进行加密处理,将AK和加密后的SK替换yaml文件中的如下值。

  4. 保存配置对CCE实例进行升级即可。
support.huaweicloud.com/bestpractice-apm2/apm_08_0008.html