https://stackoverflow.com/a/39927197/1387184に追加して、同じポッドのすべてのインスタンスを一度に監視したかったのですが、ポートを 1099 としてハードコーディングしているため、ポートフォワードを 1 つしか実行できないため困難でした。そのポートを持つポッド。
Docker の実行時にシェル スクリプトを使用してポッドを動的に割り当てる
Dockerfile
CMD /run.sh
run.sh
JMX_PORT=$(((RANDOM % 20)+1099))
echo "Running JMX on Port $JMX_PORT"
java ``eval echo $JAVA_OPTS`` ...
展開.yml
env:
- name: JAVA_OPTS
value: "-Xms256m -Xmx6144m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT -Djava.rmi.server.hostname=127.0.0.1"
eval は JMX_PORT を bash 値に評価し、開始時に各 Pod が異なる Pod を取得する可能性があります。私