k8s-CCE创建工作负载变量引用

CCE创建工作负载变量引用

背景,看到cce创建负载时会生成变量,如下。在skywaking-agent的使用,想要调用cce负载变量生成service_name。
-Dskywalking.agent.authentication里含有敏感信息需要写到配置项。简单粗糙的都写到配置项好像不合适。

创建my_service负载后默认创建变量

PAAS_APP_NAME
PAAS_NAMESPACE
PAAS_PROJECT_ID

1、以dockerfile直接调用,调用不到

FROM centos:v7.0.0
ADD target/*.jar app.jar

ENV JAVA_OPTS "-Xms2048m -Xmx2048m "
ENV JAVA_OPT  "-Dskywalking.agent.service_name=skywalking-test.$(PAAS_APP_NAME).test"

ENTRYPOINT java  $JAVA_OPT  $JAVA_OPTS -jar /app.jar 
/]# ps -ef 
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0 71 10:49 ?        00:00:32 java -Dskywalking.agent.service_name=skywalking-test.$(PAAS_APP_NAME).test -Xms2048m -Xmx2048m 

构建时引用不到cce的变量,且以字符串的形式给了java-options,不会再产生调用

2、以自定义变量调用cce变量:以下仅$(PAAS_APP_NAME)生效了,使用还是要标准些

自定义	my_app_name		$PAAS_APP_NAME		-->		my_app_name=$PAAS_APP_NAME
自定义	my_app_name2	${PAAS_APP_NAME}	-->		my_app_name2=${PAAS_APP_NAME}
自定义	my_app_name3	$(PAAS_APP_NAME)	-->		my_app_name3=my_service  #正确引用  调用还是要标准些
自定义	my_app_name4	$(apm-test)			-->		my_app_name4=$(apm-test)		#调配置项

最终

FROM centos:v7.0.0
ADD target/*.jar app.jar

ENV JAVA_OPTS "-Xms2048m -Xmx2048m "

ENTRYPOINT java  $JAVA_OPT  $JAVA_OPTS -jar /app.jar 

cce变量配置

JAVA_OPT  -javaagent:/skywalking-agent.jar -Dskywalking.agent.service_name=skywalking-test.$(PAAS_APP_NAME).test

以变量形式配置时,可以调用,但是插拔性不强,去掉就找不回了,而且不够安全。还是想以配置项导入或卸掉

2、配置项调用PAAS_APP_NAME时是调用不到的

配置项导入 --			apm-test	
JAVA_OPT -Dskywalking.agent.service_name=skywalking-test.$PAAS_APP_NAME.test
# 以键值写入数据库,调用时是固定的

3、以start.sh启动,
虽然复杂点,但是多处插拔,比较灵活。dockerfile、与cce的变量strat.sh都可以调用

FROM centos:v7.0.0
ADD target/*.jar app.jar
COPY start.sh /start.sh
ENV JAVA_OPTS "-Xms2048m -Xmx2048m "
ENTRYPOINT ["/bin/bash","/start.sh"]

调用cce的PAAS_APP_NAME

#!/bin/bash
JAVA_OPT="-Dskywalking.agent.service_name=skywalking-test.$PAAS_APP_NAME.test"  # 调用cce的PAAS_APP_NAME
java  $JAVA_OPT $JAVA_OPTS -jar /app.jar

也可以这样

#!/bin/bash
JAVA_OPTS="-Dskywalking.agent.service_name=skywalking-test.$PAAS_APP_NAME.test $JAVA_OPTS"  # 调用cce的PAAS_APP_NAME,调用dockerfile的JAVA_OPTS
java  $JAVA_OPTS -jar /app.jar    # 多个变量,方便使用不通的操作

最终三部分

dockerfile、start.sh可以sed灵活更改,配置项放敏感信息更安全

dockerfile
基础启动配置

FROM centos:v7.0.0
ADD target/*.jar app.jar
COPY start.sh /start.sh
ENV JAVA_OPTS "-Xms2048m -Xmx2048m "
ENTRYPOINT ["/bin/bash","/start.sh"]

cce配置项
存储共用配置、authentication敏感信息

#诸多共用性agent选项配置一个
JAVA_OPT -javaagent:/skywalking-agent.jar -Dskywalking.collector.backend_service=100.12.15.15:12800 -Dskywalking.agent.authentication=SvqIBCDuhAp3yzMK

start.sh

追加临时的变量参数,直接调用cce的负载变量

#!/bin/bash
JAVA_OPTS="-Dskywalking.agent.service_name=skywalking-test.$PAAS_APP_NAME.test $JAVA_OPTS"  # 调用cce的PAAS_APP_NAME,调用dockerfile的JAVA_OPTS
java  $JAVA_OP $JAVA_OPT $JAVA_OPTS -jar /app.jar    # 多个变量,方便使用不通的操作,JAVA_OP预留,这里没有使用

相关推荐

  1. k8s-CCE创建工作负载变量引用

    2024-06-13 06:28:01       8 阅读
  2. k8s负载均衡

    2024-06-13 06:28:01       12 阅读
  3. K8S中的环境变量

    2024-06-13 06:28:01       36 阅读
  4. K8S RBAC 命令行创建

    2024-06-13 06:28:01       8 阅读
  5. K8S 工具收集

    2024-06-13 06:28:01       59 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-13 06:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-13 06:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-13 06:28:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-13 06:28:01       20 阅读

热门阅读

  1. vscode react我常用的开发插件汇总

    2024-06-13 06:28:01       12 阅读
  2. 创建项目模板:vite+vue2+eslint

    2024-06-13 06:28:01       8 阅读
  3. C++day5

    C++day5

    2024-06-13 06:28:01      6 阅读
  4. 分布式重点知识总结

    2024-06-13 06:28:01       5 阅读
  5. Linux Shell命令vim使用

    2024-06-13 06:28:01       9 阅读
  6. 数据结构-二叉搜索树

    2024-06-13 06:28:01       6 阅读
  7. 实施EDI项目可能会遇到哪些挑战?

    2024-06-13 06:28:01       5 阅读
  8. Blender导出FBX模型到Unity

    2024-06-13 06:28:01       11 阅读