以下是我的OpenShift Java客户端代码:
public class JavaClient {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
IClient client = new ClientBuilder("https://api.starter-xx-xxx-1.openshift.com").withUserName("aaa@bbb.com").withPassword("password
我有一个kubernetes集群,它运行一些遗留容器(windows容器)。为简单起见,假设容器一次最多可以处理5个请求,例如
handleRequest(){
requestLock(semaphore_Of_5)
sleep(2s)
return "result"
}
因此cpu不会出现峰值。我需要根据活跃连接的nr进行扩展
我可以从文档中看到
You can use Pod readiness probes to verify that backend Pods are working OK, so that kube-proxy in iptables
我需要在Kubernetes上运行一个突发性工作负载,这真的很难估计资源和限制。我目前只使用水平Pod Autoscaler,因此我的副本数量根据我每小时计划的作业的需求增加。我目前还将内存请求和限制设置为开放,并且自动缩放仅基于CPU。问题是,保留pod的内存限制会导致较高的pod驱逐率。我想知道我是否可以使用Vertical Pod Autoscaler来推荐Pod的资源分配,并保持创建的水平Pod Autoscaler对象同时运行。我在文档中找到的唯一参考资料是有一个名为多维Pod自动缩放的对象,但它只在1.19+版本中可用。
我在OpenShift中运行了一个pod。pod运行一个Kafka消费者,不断地轮询主题,并在给定的时间内将记录存储在本地。偶尔,该主题将获得大量新记录。由于存储记录所需的内存空间,这将导致OOM异常。但是,这很好,因为pod只需重新启动并再次消费即可。
然而,问题是pod不会在OOM异常时重新启动。pod崩溃后,健康端点(服务器)仍处于活动状态。因此,pod不会重新启动,因为OpenShift仍然认为pod是健康的。从日志消息看,shutdownHook似乎从未运行过。
我的健康端点服务实现为
class HealthService : ILogging by Logging<Heal