kubernetes的Deployment, DaemonSet, Job 和 CronJob事例
k8s kubernetes给node节点添加标签和删除node节点标签
Deployment配置文件exampledeploymentv1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
template:
metadata:
labels:
app: nginx
track: stable
spec:
restartPolicy: Always
nodeSelector:
mem: large
volumes:
- name: nginx-logs
emptyDir: {}
containers:
- name: nginx
image: nginx:1.7.9
imagePullPolicy: Always
ports:
- containerPort: 80
hostPort: 8080
protocol: TCP
volumeMounts:
- name: nginx-logs
mountPath: /var/log/nginx/
livenessProbe:
httpGet:
port: 80
path: /check_healty
host: ping.zhufunin.com
scheme: HTTP
httpHeaders:
- name: user-agent
value: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
创建Deployment控制器
kubectl apply -f exampledeploymentv1.yaml --record
这里一定要加--record, 每次修改Deployment控制器时所使用的命令都会记录到备注字段,
以便在查看Deployment控制器变更历史或者回滚时可以辨别每次修改的内容
DaemonSet配置文件
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: daemon-httpd
spec:
selector:
matchLabels:
name: daemon-httpd
template:
metadata:
labels:
name: daemon-httpd
spec:
containers:
- name: daemon-httpd
image: httpd
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
hostPort: 8088
protocol: TCP
Job配置文件
开启ttlSecondsAfterFinished,给job结束后设置自动删除时间
这个功能默认是没有开启的,需要手动修改/etc/kubernetes/manifests下面的三个yaml文件
kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml
加入 - --feature-gates=TTLAfterFinished=true

activeDeadlineSeconds是指超时的时间
apiVersion: batch/v1
kind: Job
metadata:
name: job-test
spec:
ttlSecondsAfterFinished: 30
completions: 11
parallelism: 3
# activeDeadlineSeconds: 30
template:
spec:
restartPolicy: Never
containers:
- name: job-test
image: busybox
imagePullPolicy: IfNotPresent
command: [ 'sh', '-c' ]
args: [ 'echo "start jobs";sleep 30;echo "jobs done!"']
CronJob配置文件
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: echo-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
restartPolicy: Never
containers:
- name: echo-cronjob
image: busybox
imagePullPolicy: IfNotPresent
command: [ 'sh', '-c' ]
args: [ 'echo "start cronjob!";sleep 30;echo "end cronjob!"' ]
未完工,待续
kubernetes的Deployment, DaemonSet, Job 和 CronJob事例的更多相关文章
- Kubernetes中Deployment部署故障排除
Kubernetes中Deployment部署故障排除 字符型思维导图 排查pod状态(带标签):kubectl get pods,是否有等待处理的pod? 是?kubectl describe po ...
- Kubernetes 笔记 09 DaemonSet 我是一只看门狗
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...
- 【Kubernetes】Deployment控制器模型
在Kubernetes中,Deployment是最基本的控制器对象 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploym ...
- Kubernetes之Deployment控制器
Deployment 简介 deployment 是用来管理无状态应用的,面向的集群的管理,而不是面向的是一个不可变的个体,举例:有一群鸭子,要吃掉一个,只需要再放一个新的鸭仔就好了,不会影响什么,而 ...
- kubernetes控制器之DaemonSet
转载于https://blog.csdn.net/bbwangj/article/details/82867472 什么是 DaemonSet? DaemonSet 确保全部(或者一些)Node 上运 ...
- 使用kubernetes的deployment进行RollingUpdate
rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...
- (部署)使用kubernetes的deployment进行RollingUpdate
rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...
- 【转】kubernetes 中 deployment 支持哪些键值
这个比较全,可以参考 ================= https://www.addops.cn/post/kubernetes-deployment-fileds.html ========== ...
- [置顶]
kubernetes资源类型--DaemonSet
概念 DaemonSet能够让所有(或者特定)的节点运行同一个pod. 当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调 ...
随机推荐
- JUnit5学习之五:标签(Tag)和自定义注解
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- nginx反向代理、负载均衡以及分布式下的session保持
[前言]部署服务器用到了nginx,相比较于apache并发能力更强,优点也比其多得多.虽然我的项目可能用不到这么多性能,还是部署一个流行的服务器吧! 此篇博文主要学习nginx(ingine x)的 ...
- Linux graphics stack
2D图形架构 早期Linux图形系统的显示全部依赖X Server,X Client调用Xlib提供的借口向 X Server发送渲染命令,X Server根据 X Client的命令请求向硬件设备绘 ...
- 后端程序员之路 59、go uiprogress
gosuri/uiprogress: A go library to render progress bars in terminal applicationshttps://github.com/g ...
- 01.从0实现一个JVM语言之架构总览
00.一个JVM语言的诞生过程 文章集合以及项目展望 源码github地址 这一篇将是架构总览, 将自顶向下地叙述自制编译器的要素; 文章目录 01.从0实现一个JVM语言之架构总览 架构总览目前完成 ...
- 《C++ Primer》笔记 第1章 开始
输出运算符<< 的计算结果就是其左侧运算对象 std::endl 结束当前行,并将与设备关联的缓冲区中的内容刷到设备中. 程序员常常在调试时添加打印语句.这类语句应该保证"一直& ...
- 在不使用外延层的同轴半绝缘衬底材料上制作4H-SIC横向双重注入金属氧化物半导体场效应晶体管
在不使用外延层的同轴半绝缘衬底材料上制作4H-SIC横向双重注入金属氧化物半导体场效应晶体管 杂志:日本应用物理杂志 在不使用外延层在同轴的半绝缘SIC衬底上制作4H-SIC横向双重注入金属氧化物 ...
- Linux下找出吃内存的方法总结
Linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」. 现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种 ...
- 由于makefile编译所有子目录中 sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 的解释
这个语句分为好几层,我们一层一层来看 1. sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 首先看加粗这一层,$@表示目标参数中的.d文件, '&l ...
- C语言之三字棋的简单实现及扩展
C语言之三字棋的简单实现及扩展 在我们学习完数组之后,我们完全可以利用数组相关知识来写一个微小型的游戏,比如说今天所说的--三子棋. 大纲: 文件组成 实现 完整代码展示 扩展 即: 一.文件 ...