exec su-exec
活动性和就绪性探针会告诉Kubernetes,某个Pod是否正在运行并准备进行一些工作。 企业应用程序可以通过HTTP探测应用程序的状态。 如果没有暴露HTTP端点,Kubernetes也可以通过执行命令进行探测。
WildFly附带了有用的jboss-cli.sh
。 此CLI检索有关服务器和部署状态的信息,如下所示:
$> ./jboss-cli.sh --connect --commands="ls"[...]
process-type=Server
product-name=WildFly Full
product-version=11.0.0.Final
[...]
server-state=running
suspend-state=RUNNING
uuid=c52658a9-ca39-4548-9879-162cd6e14d93
我们可以结合使用shell命令来检查正在运行的服务器:
./jboss-cli.sh --connect --commands=ls | grep "server-state=running"
类似的命令为我们提供了已部署的应用程序:
$> ./jboss-cli.sh --connect --commands="ls deployment"hello.war
我们再次编写一个shell命令,以检查我们的应用程序是否已成功部署:
./jboss-cli.sh --connect --commands="ls deployment" | grep "hello.war"
现在,将这些命令插入YAML描述符中:
...containers:- name: hello-jokerimage: docker.example.com/hello:1imagePullPolicy: IfNotPresentlivenessProbe:exec:command:- /bin/sh- -c- /opt/jboss/wildfly/bin/jboss-cli.sh --connect --commands=ls | grep 'server-state=running'readinessProbe:exec:command:- /bin/sh- -c- /opt/jboss/wildfly/bin/jboss-cli.sh --connect --commands='ls deployment' | grep 'hello.war'
...
如果您的应用程序发出的状态或“平”的资源,更简单的方法是将探头通过HTTP荚如图这篇文章 。
快乐的应用程序探测!
发现帖子有用吗? 订阅我的时事通讯,获取有关IT和Java的更多免费内容,技巧和窍门:
成功! 现在检查您的电子邮件以确认您的订阅。
翻译自: https://www.javacodegeeks.com/2017/11/wildfly-kubernetes-exec-probes.html
exec su-exec