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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AP的数据库性能到底重要吗?

先说结论:没那么重要。甚至可能不重要。 我用我的经历和分析给大家说说。诸位看看如何。 不重要的观点是不是不能接受? 因为这些是站在我们角度觉得的。而实际上使用者(业务或者用户),真的不太在乎我们所在乎的。 …

简单聊聊大数据解决方案

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

IO流(转换流)

InputStreamReader(字符输入转换流 ) 解决不同编码时,字符流读取文本内容乱码的问题 public static void main(String[] args) {try (//1.得到文件的原始字节流(GBK的字节流形式)FileInputStream is new FileInputStream("src/666.tx…

C语言 | Leetcode C语言题解之第135题分发糖果

题目&#xff1a; 题解&#xff1a; int candy(int* ratings, int ratingsSize) {int ret 1;int inc 1, dec 0, pre 1;for (int i 1; i < ratingsSize; i) {if (ratings[i] > ratings[i - 1]) {dec 0;pre ratings[i] ratings[i - 1] ? 1 : pre 1;ret pre;inc…

2024PTA算法竞赛考试编程题代码

目录 前言 题目和代码 L1-006 连续因子 L1-009 N个数求和 L2-004 这是二叉搜索树吗&#xff1f; L2-006 树的遍历 L2-007 家庭房产 L4-118 均是素数 L4-203 三足鼎立 L2-002 链表去重 L2-003 月饼 L2-026 小字辈 L4-201 出栈序列的合法性 L4-205 浪漫侧影 前言 所…

理解 Java 中的 `final` 关键字

理解 Java 中的 final 关键字 final 关键字是 Java 编程语言中一个重要的修饰符&#xff0c;它可以应用于类、方法和变量。理解 final 的用法和作用对于编写稳健和高效的 Java 代码至关重要。在本文中&#xff0c;我们将深入探讨 final 关键字的各种用法及其意义。 一、final…

python数据分析-Matplotlib绘图实例以及金融数据分析应用

通过学习扩展库matplotlib及背后的理论知识进行数据分析和可视化&#xff0c;重点以案例分析为主&#xff0c;通过实际案例演示相关理论和Python语言的应用。 读取文件countries-aggregated.csv数据&#xff0c;其中Date&#xff1a;日期, Country&#xff1a;国家, Confirmed…

‘AndroidStudio工具平台’尝试运行‘Android原生项目’

AndroidStudio工具平台 (内嵌Intelli IDEA集成环境) /Users/haijunyan/Library/Android/sdk 配置环境变量: #adb命令,安装APK查看连接设备 platform-tools #emulator命令,通过命令创建模拟器 tools #用NDK框架搭建的项目,用到下面的命令编译 ndk-bundle 等等 //查看当前设备…

Linux iptables详解

前言&#xff1a;事情是这样的。最近部门在进行故障演练&#xff0c;攻方同学利用iptables制造了一个故障。演练最终肯定是取得了理想的效果&#xff0c;即业务同学在规定时间内定位了问题并恢复了业务(ps&#xff1a;你懂得)。 对我个人来讲一直知道iptables的存储&#xff0…

Linux信号基础

一、信号概念 信号是事件发生时对进程的通知机制&#xff0c;也可以把它称为软件中断。信号与硬件中断的相似之处在于能够 打断程序当前执行的正常流程&#xff0c;其实是在软件层次上对中断机制的一种模拟。大多数情况下&#xff0c;是无法预测信号达到的准确时间&#xff0c;…

pyqt opengl 小黑块

目录 OpenGLWidget_g初始化函数&#xff1a; 解决方法&#xff1a;把初始化函数的parent去掉 pyqt opengl 小黑块 原因&#xff1a; 创建OpenGLWidget_g的时候把main_window作为父类&#xff08;self&#xff09;传进去了&#xff0c; self.opengl_widget OpenGLWidget_g(…

Java面向对象-方法的重写、super

Java面向对象-方法的重写、super 一、方法的重写二、super关键字1、super可以省略2、super不可以省略3、super修饰构造器4、继承条件下构造方法的执行过程 一、方法的重写 1、发生在子类和父类中&#xff0c;当子类对父类提供的方法不满意的时候&#xff0c;要对父类的方法进行…

网站安全性评估中应该关注哪些关键指标?

在进行网站安全性评估时&#xff0c;您应该关注以下关键指标&#xff1a; 1. 服务器安全性 -操作系统安全性&#xff1a;检查服务器操作系统是否及时更新&#xff0c;是否存在已知的安全漏洞。 -服务端软件安全性&#xff1a;评估服务器上安装的各种服务端软件&#xff0c;如W…

已解决Error || KeyError: ‘The truth value of a Series is ambiguous‘

已解决Error || KeyError: ‘The truth value of a Series is ambiguous’ &#x1f680; 原创作者&#xff1a; 猫头虎 作者微信号&#xff1a; Libin9iOak 作者公众号&#xff1a; 猫头虎技术团队 更新日期&#xff1a; 2024年6月6日 博主猫头虎的技术世界 &#x1f3…

设计模式 —— 观察者模式

设计模式 —— 观察者模式 什么是观察者模式观察者模式定义观察者模式的角色观察者模式的使用场景观察者模式的实现 被观察者&#xff08;Subject&#xff09;观察者&#xff08;Observer&#xff09;通知&#xff08;notify&#xff09;更新显示&#xff08;update&#xff09…

C++ BFS相关题目

目录 图像渲染 岛屿数量 图像渲染 733. 图像渲染 vis就是标记1有没有被用过 符合条件的都放到队列里&#xff0c;每次出队列一个&#xff0c;判四个&#xff0c; 如果要改的值与当前的值相同直接返回 注意&#xff1a;image[x][y] prev要放在坐标判断的后面&#xff…

我的mybatis学习笔记之二

第一版学习笔记 1,接口是编程: 原生: Dao > DaoImpl mybatis: Mappper > XXXMapper.xml 2,SqlSession代表和数据库的一次会话:用完必须关闭 3,SqlSession和connection一样是非线程安全的.每次使用都必须去获取新的对象 4,mapper接口没有是一类,但是mybtis会为这个接口生…

Linux启动KKfileview文件在线浏览时报错:启动office组件失败,请检查office组件是否可用

目录 1、导论 2、报错信息 3、问题分析 4、解决方法 4.1、下载 4.2、安装步骤 1、导论 今天进行项目部署时&#xff0c;遇到了一个问题。在启动kkfileview时&#xff0c;出现了报错异常&#xff1a; 2024-06-09 06:36:44.765 ERROR 1 --- [ main] cn.keking.service.Of…

运维小妙招:如何让系统信息随登录自动展现?

在日常运维工作中&#xff0c;及时获取系统的基本信息对于维护系统的稳定性和安全性至关重要。通过一个简单的登录脚本&#xff0c;我们可以在用户每次登录时自动显示系统的关键信息&#xff0c;这不仅提高了工作效率&#xff0c;还能快速定位问题。本文将介绍如何编写这样一个…

设计模式七大原则-接口隔离原则InterfaceSegregation

接口隔离原则&#xff1a; 客户端不应该依赖它不需要的接口&#xff0c;即一个类对另一个类的依赖应该建立在最小的接口上 案例&#xff1a; 类A通过接口Interface1依赖类B&#xff0c;类C通过接口Interface1依赖类D&#xff0c;如果接口Interface1对于类A和类c来说不是最小…