我正在使用入口点来启动我的应用程序,现在我在入口点中使用了一个变量,并在运行时在 kubernetes pod 环境变量中传递了这个变量,这是我的 docker 文件:
FROM openjdk:8-jre-alpine
MAINTAINER jiangxiaoqiang ([email protected])
ENV LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8 \
TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone \
&& apk add --no-cache curl jq procps
ADD soa-service/build/libs/soa-service-1.0.0-SNAPSHOT.jar /root/soa-service-1.0.0-SNAPSHOT.jar
ADD script/start-docker.sh /root/start-docker.sh
EXPOSE 11005
ENTRYPOINT exec java -Dfile.encoding=UTF-8 -Xmx256M -Xms128M \
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5007 \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/dump \
-javaagent:/opt/skywalking/agent/skywalking-agent.jar=agent.service_name=soa-service \
-Dskywalking.agent.service_name=soa-service \
-Dskywalking.collector.backend_service=$SKYWALKING_ADDR \
-jar /root/soa-service-1.0.0-SNAPSHOT.jar
并在 yaml 中传递 kubernetes env 变量,如下所示:
"env": [
{
"name": "SKYWALKING_ADDR",
"value": "10.106.251.29:11800"
}]
现在的问题是我不确定这个配置是否正常。想看变量传递成功,怎么看entrypoint的启动命令?
使用
kubectl get pods
登录正在运行的 pod 并执行 bash:
kubectl exec -it yourpodname bash
执行ps
命令-aux
以查看有关运行进程的更多详细信息并筛选 java
ps -aux | grep java
示例输出:
cnb 1 0.1 8.4 456540 171884 ? Ssl Jun13 3:28 java -cp /workspace -XX:ReservedCodeCacheSize=40M -XX:MaxMetaspaceSize=60M -Xlog:gc -Xms36m -Xmx40m -Xss256k -XX:MaxRAM=150M -Djava.security.properties=/layers/paketo-buildpacks_bellsoft-liberica/java-security-properties/java-security.properties -agentpath:/layers/paketo-buildpacks_bellsoft-liberica/jvmkill/jvmkill-1.16.0-RELEASE.so=printHeapHistogram=1 -XX:ActiveProcessorCount=2 -XX:MaxDirectMemorySize=10M org.springframework.boot.loader.JarLauncher
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句