[英]How to run sidecar container in jenkins pipeline running inside kubernetes
[英]How to see logs is Stackdriver from Java application run on Jenkins Kubernetes container
我创建了一个 Jenkins 管道,并在 GKE 上运行它(使用 Kubernetes 插件)。 在其中一个步骤中,我在其中一个容器中运行 java 应用程序。 应用程序正在将日志写入标准输出。 我想在 Stackdriver 中查看此应用程序的日志。 我怎样才能实现它? 目前我无法在 Stackdriver 和 Jenkins 日志中看到这些日志。
我的管道:
podTemplate(cloud: 'kubernetes',
yaml: """
apiVersion: v1
kind: Pod
spec:
securityContext:
runAsUser: 0
containers:
- name: maven
image: maven:3.6.3-jdk-11
resources:
requests:
cpu: "1"
memory: "1Gi"
ephemeral-storage: "20Mi"
limits:
cpu: "2"
memory: "4Gi"
ephemeral-storage: "1Gi"
command:
- cat
tty: true
"""
) {
node(POD_LABEL) {
stage('Run app') {
container('maven') {
sh "java -jar my-app.jar &"
}
}
}
}
=== 编辑 ===
我的主 Jenkins 安装在其中一个 GKE Pod 上,每个 PR 验证都会触发另一个具有上述容器和 Java 应用程序的 Pod。 看起来 jenkins 从代理正在收集日志(但没有将它们附加到构建日志,因为 java 应用程序在后台运行)。
如果您已经在 GCP 实例上运行 Jenkin,那么将非常简单,直接将日志获取到 Stackdriver。
https://faun.pub/jenkins-on-google-compute-engine-611bd86e295b
您还可以将 Agent 与 java 集成
参考: https : //medium.com/google-cloud/java-logging-on-cloud-run-with-stackdriver-9786d6fdbe17
您还应该使用Bluemedora结帐
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.