.net core i上 K8S(四).netcore程序的pod管理,重启策略与健康检查
上一章我们已经通过yaml文件将.netcore程序跑起来了,但还有一下细节问题可以分享给大家。
1.pod管理
1.1创建pod
kubectl create -f netcore-pod.yaml
我们创建一个netcore-pod.yaml文件,内容如下:
apiVersion: v1
kind: Pod #指明类型
metadata:
name: netcore-pod
labels:
app: netcorepod
spec:
containers:
- name: netcorepod
image: chenyishi/webdocker_s_provider
ports:
- containerPort:
env:
- name: serverport
value: ""
1.2查看pod是否创建成功
1.3查看pod描述
1.4替换pod
先修改netcore-pod.yaml,name改成netcorepod1
再执行替换命令
kubectl replace -f netcore-pod.yaml --force
我们可以看到,是先删除旧的,再替换的。
1.5删除pod
kubectl delete -f netcore-pod.yaml
2.重启策略
k8s有三种重启策略Always(总是重启,默认),OnFailue(错误时重启),Never(从不),下面我们来修改netcore-pod.yaml配置
apiVersion: v1
kind: Pod
metadata:
name: netcore-pod
labels:
app: netcorepod
spec:
containers:
- name: netcorepod
image: chenyishi/webdocker_s_provider
ports:
- containerPort:
env:
- name: serverport
value: ""
restartPolicy: OnFailure #策略
然后create
kubectl create -f netcore-pod.yaml
我们手动制造一个异常,去Node节点查询并kill掉进程dotnet
kill -
然后回到master节点,查看pod信息
我们可以看到重启次数已经从0变成1了,说明我门的重启策略发挥作用了,大家可以多kill几次,这个数字会递增。另外两种策略大家也可以试一下
3.健康检查
k8s为我们提供了对pod的健康检查,我们可以查看一下支持哪些
这里我们使用httpGet测试一下,修改配置如下
我们使用一个存在的接口/api/values/1测试,创建pod,并查看信息
策略已生效,我们重新修改一下,改成一个不存在的接口
然后replace掉旧的
然后查看信息
我们发现已经出发了健康检查策略,在不停重启,restart count再增加,Events事件信息也在增加。
4.进入容器
kubectl exec pod/netcore-pod -it bash
至此,我们.netcore程序的pod管理,重启策略与健康检查分享完了。
.net core i上 K8S(四).netcore程序的pod管理,重启策略与健康检查的更多相关文章
- .net core i上 K8S(六).netcore程序的service网络代理模式
上一章我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下 1.clusterIP模式 我们在创建se ...
- .net core i上 K8S(七).netcore程序的服务发现
上一章我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现. 1.环境变量模式的服务发现 k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是 1.需要service在pod ...
- .net core i上 K8S(五).netcore程序的hostip模式
上一章讲了pod的管理,今天再分享一个pod的访问方式 1.Pod的HostIP模式 Pod的HostIP模式,可以通过宿主机访问pod内的服务,创建yaml文件如下 apiVersion: v1 k ...
- .net core i上 K8S(二)运行简单.netcore程序
上一章我们搭建了k8s集群,这一章我们开始在k8s集群上运行.netcore程序 1.kubectl run 在我的Docker系列教程里,我曾往docker hub中推送过一个镜像“webdokce ...
- .net core i上 K8S(三)Yaml文件运行.netcore程序
上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的. 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上 ...
- .net core i上 K8S(一)集群搭建
1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉 ...
- Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解
YAML语法规范:在kubernetes k8s中如何通过yaml文件创建pod,以及pod常用字段详解 YAML 语法规范 K8S 里所有的资源或者配置都可以用 yaml 或 Json 定义.YAM ...
- ASP.NET Core之跨平台的实时性能监控(2.健康检查)
前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内容. 没看过上篇的,请移步:ASP.NET Core之跨平台的实时性 ...
- 健康检查NET Core之跨平台的实时性能监控
ASP.NET Core之跨平台的实时性能监控(2.健康检查) 前言 上篇我们讲了如何使用App Metrics 做一个简单的APM监控,最后提到过健康检查这个东西. 这篇主要就是讲解健康检查的内 ...
随机推荐
- TabControl关闭选项卡
关闭TabControl选项卡: Private Sub TabControl_Main_CloseButtonClick(sender As Object, e As EventArgs) Hand ...
- 「小程序JAVA实战」小程序的表单组件(25)
转自:https://idig8.com/2018/08/18/xiaochengxujavashizhanxiaochengxudebiaodanzujian25/ 来说下 ,小程序的基础组件.源码 ...
- delphi IOS 通知 TNotification
delphi IOS 通知 TNotification http://blogs.embarcadero.com/ao/2013/05/01/39450 TNotification http://d ...
- VS2015编译VLC2.2.1(under WIN7-64)<转>
概述: 感谢https://github.com/sunqueen/vlc-2.2.1.32-2013 这个工程,我的工作基本上都是基于它,我只是觉得他的工程设置不够清晰,重新做了一次.区别在于我的工 ...
- ffmpeg源码分析一:概述 (转1)
原帖地址:http://blog.csdn.net/austinblog/article/details/24800381 首先先看ffmpeg.c文件,有类似于如下的一些变量: InputStrea ...
- ffmpeg基本用法(转)
FFmpeg FFmpeg 基本用法 本课要解决的问题 1.FFmpeg的转码流程是什么? 2.常见的视频格式包含哪些内容吗? 3.如何把这些内容从视频文件中抽取出来? 4.如何从一种格式转换为另一种 ...
- angular的service与factory
angular里的service是一个单例对象,在应用生命周期结束的时候(关闭浏览器)才会被清除.而controllers在不需要的时候就会被销毁了. factory是angular里的一种ser ...
- 学习ios一段过程后的思考
现在回想起来,学习ios也有一段时间了,大概三个月不到吧,本来是搞linux驱动,刚开始来公司就我一个人负责驱动的东西,主要就是一些bug的解决,后来系统基本上稳定了,我就闲下来了,公司又有些移动医疗 ...
- /etc/rc5.d/s991local: line25: eject:command not found错误
使用虚拟机安装centos出现错误,原因是我使用的镜像是最小级别的,没有图形化界面,只有终端窗口 有人用vmware安装minimal centos报错/etc/rc5.d/s99local : ...
- FreeSWITCH 客户端fs_cli连接设置(acl)
FreeSWITCH 默认配置只能 在本机连接, 要从 外面连接, 就要配置: acl.conf.xml::network-lists/list event_socket.conf.xml::appl ...