kubernetes--应用程序健康检查

【Kubernetes】k8s的健康性检查详细说明【livenss probe、readiness probe】 各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**[外链图片转存中…(img-CiI3WIrw-1712252732952)][外链图片转存中…(img-ALlRs2Gc-1712252732953)][外链图片转存中…(img-t6Pr2zUJ-1712252732954)] 阅读详情

 

置顶 2017年08月24日 16:16:13 lykops 阅读数:3331

 版权声明:本文属于原创,欢迎转载,转载请保留出处:http://blog.youkuaiyun.com/liyingke112 https://blog.youkuaiyun.com/liyingke112/article/details/77531584

本文基于kubernetes 1.5.2版本编写

K8S的应用程序健康检查分为livenessProbe和readinessProbe,两者相似,但两者存在着一些区别。

livenessProbe在服务运行过程中检查应用程序是否运行正常,不正常将杀掉进程;而readness Probe是用于检测应用程序启动完成后是否准备好对外提供服务,不正常继续检测,直到返回成功为止。

livenessProbe

许多应用程序经过长时间运行,最终过渡到无法运行的状态,除了重启,无法恢复。通常情况下,K8S会发现应用程序已经终止,然后重启应用程序/pod。

有时应用程序可能因为某些原因(后端服务故障等)导致暂时无法对外提供服务,但应用软件没有终止,导致K8S无法隔离有故障的pod,调用者可能会访问到有故障的pod,导致业务不稳定。K8S提供livenessProbe来检测应用程序是否正常运行,并且对相应状况进行相应的补救措施。

readinessProbe

在没有配置readinessProbe的资源对象中,pod中的容器启动完成后,就认为pod中的应用程序可以对外提供服务,该pod就会加入相对应的service,对外提供服务。但有时一些应用程序启动后,需要较长时间的加载才能对外服务,如果这时对外提供服务,执行结果必然无法达到预期效果,影响用于体验。

比如使用tomcat的应用程序来说,并不是简单地说tomcat启动成功就可以对外提供服务的,还需要等待spring容器初始化,数据库连接没连上等等。对于spring boot应用,默认的actuator带有/health接口,可以用来进行启动成功的判断。

检测方式

exec-命令

在用户容器内执行一次命令,如果命令执行的退出码为0,则认为应用程序正常运行,其他任务应用程序运行不正常。

 
  1. ……

  2. livenessProbe:

  3. exec:

  4. command:

  5. - cat

  6. - /home/laizy/test/hostpath/healthy

  7. ……

TCPSocket

将会尝试打开一个用户容器的Socket连接(就是IP地址:端口)。如果能够建立这条连接,则认为应用程序正常运行,否则认为应用程序运行不正常。

 
  1. ……

  2. livenessProbe:

  3. tcpSocket:

  4. port: 8080

  5. ……

HTTPGet

 

调用容器内Web应用的web hook,如果返回的HTTP状态码在200和399之间,则认为应用程序正常运行,否则认为应用程序运行不正常。每进行一次HTTP健康检查都会访问一次指定的URL。

 
  1. ……

  2. httpGet: #通过httpget检查健康,返回200-399之间,则认为容器正常

  3. path: / #URI地址

  4. port: 80 #端口号

  5. #host: 127.0.0.1 #主机地址

  6. scheme: HTTP #支持的协议,http或者https

  7. httpHeaders:’’ #自定义请求的header

  8. ……

部署例子

 
  1. cat << EOF > inessprobe.yaml

  2. apiVersion: v1

  3. kind: ReplicationController

  4. metadata:

  5. name: inessprobe

  6. labels:

  7. project: lykops

  8. app: inessprobe

  9. version: v1

  10. spec:

  11. replicas: 6

  12. selector:

  13. project: lykops

  14. app: inessprobe

  15. version: v1

  16. name: inessprobe

  17. template:

  18. metadata:

  19. labels:

  20. project: lykops

  21. app: inessprobe

  22. version: v1

  23. name: inessprobe

  24. spec:

  25. restartPolicy: Always

  26. containers:

  27. - name: inessprobe

  28. image: web:apache

  29. imagePullPolicy: Never

  30. command: ['sh',"/etc/run.sh" ]

  31. ports:

  32. - containerPort: 80

  33. name: httpd

  34. protocol: TCP

  35. readinessProbe:

  36. httpGet:

  37. path: /

  38. port: 80

  39. scheme: HTTP

  40. initialDelaySeconds: 120

  41. periodSeconds: 15

  42. timeoutSeconds: 5

  43. livenessProbe:

  44. httpGet:

  45. path: /

  46. port: 80

  47. scheme: HTTP

  48. initialDelaySeconds: 180

  49. timeoutSeconds: 5

  50. periodSeconds: 15

  51. EOF

  52.  
  53. cat << EOF > inessprobe-svc.yaml

  54. apiVersion: v1

  55. kind: Service

  56. metadata:

  57. name: inessprobe

  58. labels:

  59. project: lykops

  60. app: inessprobe

  61. version: v1

  62. spec:

  63. selector:

  64. project: lykops

  65. app: inessprobe

  66. version: v1

  67. ports:

  68. - name: http

  69. port: 80

  70. protocol: TCP

  71. EOF

  72.  
  73. kubectl create -f inessprobe-svc.yaml

  74. kubectl create -f inessprobe.yaml

参数说明

initialDelaySeconds:容器启动后第一次执行探测是需要等待多少秒。

periodSeconds:执行探测的频率。默认是10秒,最小1秒。

timeoutSeconds:探测超时时间。默认1秒,最小1秒。

successThreshold:探测失败后,最少连续探测成功多少次才被认定为成功。默认是1。对于liveness必须是1。最小值是1。

failureThreshold:探测成功后,最少连续探测失败多少次才被认定为失败。默认是3。最小值是1。

K8S:K8S自动化运维容器化(Docker)集群程序 本文主要介绍了什么是K8S以及为什么在容器集群中药使用K8S管理,K8S管理的优点和解决的问题、讲解了K8S的各种组件、K8S的架构以及K8S的工作流程 阅读详情

相关推荐

k8s 定义 gRPC 存活探针

这个例子展示了如何配置 Kubernetes 以将其用于应用程序的存活性检查。类似地,你可以配置就绪探针和启动探针。如果你的应用实现了 gRPC 健康检查协议, kubelet 可以配置为使用该协议来执行应用存活性检查。要使用 gRPC 探针,必须配置。

duolatech 460

k8s健康检查

健康检查概述 健康检查(Health Check)用于检测您的应用实例是否正常工作,是保障业务可用性的一种传统机制,一般用于负载均衡下的业务,如果实例的状态不符合预期,将会把该实例“摘除”,不承担业务流量。 应用在运行过程中难免会出现错误,如程序异常,软件异常,硬件故障,网络故障等。在kubernetes中提供Health Check健康检查机制,当发现应用异常时会自动重启容器,将应用从service服务中剔除,保障应用的高可用性。 k8s健康检查介绍 Kubernetes中的健康检查主要使用存活性探针(l

认知 行动 坚持 7575

全网最详细Seurat v5 流程复现(拿来即用)

本文是基于seurat v5版本的教程复现,主要依据来源于官网seurat v5建议大家有时间的话可以去官网进行详细阅读学习!本节内容在之前seurat v4的教程都很多都有提到,文章所用到的数据及代码已经给各位放在这里了,有需要自取!请点击这里哦提取码:bui1。

ZxVSaccount的博客 1万+

十一、K8s 健康性检查

概述: 健康检查(Health Check)用于检测应用实例是否正常工作(例如某pod中文件丢失了,但是状态还是running,这种情况下deployment无法查看),是保障业务可用性的一种传统机制,一般用于负载均衡下的业务,如果实例的状态不符合预期,将会把该实例“摘除”,不承担业务流量。 Kubernetes中的健康检查使用存活性探针(liveness probes)和就绪性探针(readiness probes)来实现,service即为负载均衡,k8s保证 service 后面的 pod 都可用,是

tushanpeipei的博客 3867

双击文件夹弹窗“找不到应用程序”,但是右键点击打开可以

此电脑、回收站、c、d、f盘、控制面板、任意文件夹等都没有办法双击打开。 右键中包含“使用filemanager打开”,是由于FileManager卸载残留导致的。 懒人专用附件 下载解压上面附件,双击导入可以清理FileManager软件残留 参考: 双击此电脑出现找不到应用程序,但是右键点击可以-其他-优快云问答https://ask.youkuaiyun.com/questions/7631439 电脑上的文件夹双击都提示找不到应用程序,但是右击打开就能打开,该怎么解决? - 知乎 (z

webmasterqpwou的博客 1万+

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包

目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp (https://blog.youkuaiyun.com/u010039418/article/details/86251470) 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要向本地10001端口发送数据,可以使用 ec.

我的笔记本 1万+

架构师系列-k8s(三)-k8s健康检查及探针

Readiness 是检查容器是否已经处于可接受服务请求的状态,如果Readiness Probe失败,端点控制器将会从服务端点(与Pod匹配的)中移除容器的IP地址,Readiness的默认值为Failure,如果一个容器未提供Readiness,则默认是Success。Liveness是检查容器是否处于运行状态,如果检测失败,kubelet将会杀掉掉容器,并根据重启策略进行下一步的操作,如果容器没有提供Liveness Probe,则默认状态为Success;否则,它被标记为不健康。

dengwei_dw的专栏 2861

mmpretrain学习笔记

(4)数据集路径 data_root=‘data/imagenet’–》data_root=‘data/Fruits Dataset/images’(7)适当的修改num_workers、epochs、batch_size、lr等。3、训练优化 :梯度下降算法、学习率参数、训练总轮次、学习率变化策略等。my_resnet18_8xb32_in1k.py 完整的配置文件。(6)split=‘train’、split='val’注释掉。2、数据:数据集划分、数据文件路径、批大小、数据增强策略等。

吃葡萄不吐葡萄皮 937

[云原生] Kubernetes(k8s)健康检查详解与实战演示(就绪性探针 和 存活性探针)

Kubernetes中的健康检查主要使用 存活性探针()和 就绪性探针(异常实例自动剔除,并重启新实例多种类型探针检测,保证异常pod不接入流量不停机部署,更安全的滚动升级Kubernetes(k8s)最新版最完整版环境部署+master高可用实现(k8sV1.24.1+dashboard+harbor)......

匠人精神,持之以恒! 3578

EMC系列EtherCAT总线运动控制器(二):Motion通讯连接、总线配置及诊断

雷赛-EMC系列EtherCAT总线运动控制器(二):Motion通讯连接、总线配置及诊断

weixin_38570076的博客 1889

RAG系统中Reranker模型选型实战

本文详细介绍了RAG系统中Reranker模型选型实战,希望能对学习RAG的同学们有所帮助。 文章目录 1. 前言 2. 思路解析 3. 测评数据集构建 3.1 步骤一 3.2 步骤二 3.3 数据示例 3.4 总结 4. 实战代码 4.1 本地模型 4.2 使用第三方的Reranker模型API

herosunly的博客 17万+

[置顶] kubernetes--应用程序健康检查

K8S的应用程序健康检查分为livenessProbe和readinessProbe,两者相似,但两者存在着一些区别。 livenessProbe在服务运行过程中检查应用程序是否运行正常,不正常将杀掉进程;而readness Probe是用于检测应用程序启动完成后是否准备好对外提供服务,不正常继续检测,直到返回成功为止。 livenessProbe 许多应用程序经过长时间运...

ddk4044的博客 606

最新2026年《网络数据安全风险评估办法》条款解读

大型企业集团IT变革下的零信任安全体系建设方案(55页).pptx。以数据安全为核心的安全立体防御体系解决方案(41页).pptx。让数据安全合规地创造价值(15页 PPT).pptx。大型集团数据安全应急预案(57页).docx。数据安全治理与评估服务业务介绍.pptx。数据安全管理实践(17页).pptx。大数据安全架构设计方案.pptx。大数据安全规划总体方案.pptx。数据库安全综合治理方案.pptx。医疗数据安全建设方案.pptx。数据安全框架规划图.pptx。数据安全治理方案.pptx。

cdfunlove的博客 47

Kubernetes环境下SpringBoot应用程序健康检查

生产环境下,对应用运行的状态需要进行健康检查。本文提供了一种健康检查集成方法。用于检查Kubernetes环境下SpringBoot应用程序运行状态。

u013149714的博客 913

基于STM32设计的电能质量控制系统_353

本项目基于STM32F103RCT6微控制器设计了一套电能质量控制系统,实现了对火焰、烟雾、环境温湿度、电压、电流及功率等多项参数的实时监测与报警。系统通过MQ2烟雾传感器、火焰传感器、SHT30温湿度传感器及电力参数采集模块采集数据,采用高电平触发有源蜂鸣器进行异常报警。采集的数据通过ESP8266无线模块以AP+TCP模式上传至基于Qt开发的手机APP和电脑上位机,实现远程实时监控和历史数据管理。系统配备1.44寸LCD显示屏,实现本地数据显示。软件采用Keil5开发,采用寄存器编程方式,提高系统响应速

255

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

k8s 容器反复重启

【代码】k8s 容器反复重启。

言之。 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Kubernetes应用健康检查

在实际生产环境中,想要使得开发的应用程序完全没有bug,在任何时候都运行正常,几乎 是不可能的任务。因此,我们需要一套管理系统,来对用户的应用程序执行周期性的健康检查和修...

IT技术精选文摘 305

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Kubernetes(k8s)的基本概念

适用于自动部署,扩缩和管理容器化应用程序的开源系统。

2301_80444366的博客 724

linuxos或sv独立客户端不支持应用程序打开方式_搞不明白为什么大家都在学习 k8s

作者 | 小明菜市场来源 | 小明菜市场(ID:fileGeek)头图 | 优快云 下载自东方IC前言都2020年了,你还不知道kubernetes就真的真的真的out啦。(贩卖焦虑体) 什么是k8s,k8s这个词来自于希腊语,有主管,舵手,船长的意思,我们从图标中能看出来。在k8s的网站上,描述是这样的生产级别的容器编排系统从定义中可以提炼出三个关键字,分别是生产级别容器编排系统1、生产级别说...

weixin_39657249的博客 819

CKA认证 | Day4 K8s管理应用生命周期(下)

Pod 是 Kubernetes 中最基本和最重要的概念之一,它简化了容器的部署、管理和扩展。通过 Pod,可以轻松地将应用程序的不同组件组织在一起,确保它们共享资源和网络环境。理解 Pod 的工作原理和使用方法对于有效使用 Kubernetes 非常重要。

小安的运维专栏 1289
上一篇: k8s搭建问题(1)--OOMKilled
下一篇: Kubernetes技术学习之---容器监测探针Liveness Probes
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值