当前位置: 首页 > news >正文

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.jarENV 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.jarENV 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预留,这里没有使用

相关文章:

  • jquery.datetimepicker无法添加清除按钮的问题
  • eNSP学习——RIP的路由引入
  • 记录一下npm安装时的错误排查过程
  • 2024-06-06 问AI: 在深度学习中,什么是欧几里德长度?
  • QT串口调试助手V2.0(源码全开源)--上位机+多通道波形显示+数据保存(优化波形显示控件)
  • 【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)
  • 【C语言从入门到入土】第八章 结构体
  • 【全开源】多功能投票小程序系统源码(ThinkPHP+FastAdmin+Uniapp)
  • 软件安全技术【太原理工大学】
  • Java面向对象-方法的重写、super
  • 【C++】<知识点> C++11新特性
  • 视觉大模型(VLLM)学习笔记
  • 华为策略流控
  • 网络编程(UPD和TCP)
  • 拓扑排序-java
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • js递归,无限分级树形折叠菜单
  • MD5加密原理解析及OC版原理实现
  • Python爬虫--- 1.3 BS4库的解析器
  • spring学习第二天
  • Vue 动态创建 component
  • 大数据与云计算学习:数据分析(二)
  • 高性能JavaScript阅读简记(三)
  • 前言-如何学习区块链
  • 设计模式走一遍---观察者模式
  • 数据科学 第 3 章 11 字符串处理
  • 数据可视化之 Sankey 桑基图的实现
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #162 (Div. 2)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (09)Hive——CTE 公共表达式
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (待修改)PyG安装步骤
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (算法)Travel Information Center
  • (转)shell中括号的特殊用法 linux if多条件判断
  • *上位机的定义
  • .net core 依赖注入的基本用发
  • .net MySql
  • .NET 反射的使用
  • .NET 中的轻量级线程安全
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net开发引用程序集提示没有强名称的解决办法
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .sh
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @JsonSerialize注解的使用
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [3D基础]理解计算机3D图形学中的坐标系变换