1、安装 kubectl
Macos
brew install kubectl
Windows:
https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-windows/
下载后,放到任意目录
2、配置连接信息
mac
将以下内容复制到计算机 $HOME/.kube/config 文件下:
windows
不同集群配置不同的配置文件(.kube文件夹不存在则手动创建)
C:\Users\xxxx\.kube\config_prod
C:\Users\xxxx\.kube\config_test
端口映射时,指定配置文件即可
kubectl.exe --kubeconfig C:\Users\xxx\.kube\config_prod port-forward -n cluster pod/podname 10091:10091
3、开启debug 端口
服务启动脚本中增加以下内容:entrypoint.sh
#/bin/bash
JAVA_DUMP_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/annengdata/logs/"
if [ ${REMOTE_DEBUG_ENABLED} == "true" ]; then
JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:${REMOTE_DEBUG_PORT}"
else
JAVA_DEBUG_OPTS=""
fi
NACOS_OPTS="
-Dnacos.host=${NACOS_HOST}
-Dnacos.port=${NACOS_PORT}
-Dnacos.username=${NACOS_USERNAME}
-Dnacos.password=${NACOS_PASSWORD}
-Dnacos.discovery.namespace=${NACOS_DISCOVERY_NAMESPACE}
-Dnacos.discovery.group=${NACOS_DISCOVERY_GROUP}
-Dnacos.config.namespace=${NACOS_CONFIG_NAMESPACE}
-Dnacos.config.group=${NACOS_CONFIG_GROUP}
"
# springboot 启动命令
echo java ${JAVA_DEBUG_OPTS} ${NACOS_OPTS} ${JAVA_HEAP_OPTS} ${JAVA_DUMP_OPTS} -jar /usr/finance-open-gateway/finance-open-gateway.jar
exec java ${JAVA_DEBUG_OPTS} ${NACOS_OPTS} ${JAVA_HEAP_OPTS} ${JAVA_DUMP_OPTS} -jar /usr/finance-open-gateway/finance-open-gateway.jar
4、端口暴露
5、端口映射
-- by pod
kubectl port-forward -n finance-management-test pod/finance-measurement-7cdf8df894-kbkkv 10091:10091
-- by service
kubectl port-forward -n finance-management-dev service/finance-portal-svc 18181:port-18181
6、debug 测试
dockerfile示例
FROM harbor.chintanneng.com/library/anneng-jdk17:1.0
USER 0
RUN mkdir -p /annengdata/logs \
&& mkdir /usr/finance-open-gateway \
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ../entrypoint.sh /usr/finance-open-gateway/entrypoint.sh
COPY ./finance-open-gateway-application/target/finance-open-gateway.jar /usr/finance-open-gateway/finance-open-gateway.jar
ENTRYPOINT ["/bin/bash", "/usr/finance-open-gateway/entrypoint.sh"]