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事例的更多相关文章

  1. Kubernetes中Deployment部署故障排除

    Kubernetes中Deployment部署故障排除 字符型思维导图 排查pod状态(带标签):kubectl get pods,是否有等待处理的pod? 是?kubectl describe po ...

  2. Kubernetes 笔记 09 DaemonSet 我是一只看门狗

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...

  3. 【Kubernetes】Deployment控制器模型

    在Kubernetes中,Deployment是最基本的控制器对象 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploym ...

  4. Kubernetes之Deployment控制器

    Deployment 简介 deployment 是用来管理无状态应用的,面向的集群的管理,而不是面向的是一个不可变的个体,举例:有一群鸭子,要吃掉一个,只需要再放一个新的鸭仔就好了,不会影响什么,而 ...

  5. kubernetes控制器之DaemonSet

    转载于https://blog.csdn.net/bbwangj/article/details/82867472 什么是 DaemonSet? DaemonSet 确保全部(或者一些)Node 上运 ...

  6. 使用kubernetes的deployment进行RollingUpdate

    rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...

  7. (部署)使用kubernetes的deployment进行RollingUpdate

    rolling update,可以使得服务近乎无缝地平滑升级,即在不停止对外服务的前提下完成应用的更新. replication controller与deployment的区别 replicatio ...

  8. 【转】kubernetes 中 deployment 支持哪些键值

    这个比较全,可以参考 ================= https://www.addops.cn/post/kubernetes-deployment-fileds.html ========== ...

  9. [置顶] kubernetes资源类型--DaemonSet

    概念 DaemonSet能够让所有(或者特定)的节点运行同一个pod. 当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调 ...

随机推荐

  1. FTP返回值代表含义

    FTP:屏幕信息举例 1.用户要用FTP和远地主机(网络信息中心NIC上的主机)建立连接. 2.本地FTP发出的连接成功信息. 3.从远地服务器返回的信息,220表示"服务就绪". ...

  2. 微信小程序:利用map方法方便获得对象数组中的特定属性值们

  3. 微信支付/支付宝支付/银联支付,对比加总结(Java服务端)

    今天来讲讲支付. 工作到现在,接入过好几个项目的支付,其中涉及到了微信支付.支付宝支付.银联支付. 三种支付的对接感受其实整体上大同小异.都遵循同一个流程: 1).商户APP向商户服务器请求生成订单 ...

  4. OSPF“孤儿”区域

    在多区域OSPF中,area0为主干区域,其他非主干区域都需要包含一个接口连接主干区域,那么当出现有的区域不和主干区域相连,成了"孤儿": 解决办法: 虚链路 在连接孤儿区域的路由 ...

  5. oracle startup startup nomount startup mount 的区别

    startup nomount选项启动实例,但不安装 数据库.当数据库以这个模式启动时,参数文件被读取:后台进程和内存结构被启动:但它们不被附加或与数据库的磁盘结构进行通信.当实例处于这个状态时sta ...

  6. SpringBoot(十一): Spring Boot集成Redis

    1.在 pom.xml 中配置相关的 jar 依赖: <!-- 加载 spring boot redis 包 --> <dependency> <groupId>o ...

  7. 《C++ Primer》笔记 第4章 表达式

    C++的表达式要不然是右值(right-value or read-value),要不然就是左值(left-value or location-value). 当一个对象被用作右值的时候,用的是对象的 ...

  8. Maven配置ali镜像

    Maven目录,Conf文件夹下settings.xml 找到mirrors节点 添加配置 <mirror> <id>alimaven</id> <mirro ...

  9. java常见面试题3:线程间通信

    写两个线程,一个线程打印 1~52,另一个线程打印字母A-Z. 打印顺序为12A34B56C78D--5152Z.要求用线程间的通信. 代码清单: class Printer { private in ...

  10. go中sync.Mutex源码解读

    互斥锁 前言 什么是sync.Mutex 分析下源码 Lock 位运算 Unlock 总结 参考 互斥锁 前言 本次的代码是基于go version go1.13.15 darwin/amd64 什么 ...