1、控制器deployment,DaemonSet,StatufluSet

k8s中控制器分为:deployment、DaemonSet、StatufluSet
Deployment:一般用来部署长期运行的、无状态的应用
特点:集群之中,随机部署
DaemonSet:每一个节点上部署一个Pod,删除节点自动删除对应的POD(zabbix-agent)
特点:每一台上有且只有一台
StatudfluSet: 部署有状态应用
特点:有启动顺序 查看控制器:
kubectl get deployments
kubectl get daemonsets
kubectl get statefulsets
删除控制器:
kubectl delete deployments 名字
kubectl delete daemonsets 名字
kubectl delete statefulsets 名字

2、控制器-deployment

deployment.yaml

replicas: 1   决定pod部署的数量
Deploymnet:在Deployment对象中描述所需的状态,然后Deployment控制器将实际状态以受控的速率更改为所需的状态。 apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment
spec:
replicas: 1 # pod数量
selector: # 选择器
matchLabels: # 标签
release: stable # 选择标签
template: # 模版
metadata:
name: test-tag # 控制器名字
labels:
release: stable # 设置控制器标签
spec:
containers:
- name: nginx # 镜像名称
image: nginx # 镜像

弹性扩容

方式1-修改配置清单

kubectl edit 资源类型 资源名称
[root@sg-14 k8s_yaml]# kubectl edit deployments test
修改replicas数量:
replicas: 2

方式2-打标签

[root@sg-14 k8s_yaml]kubectl patch deployments.apps test -p '{"spec":{"replicas":1}}'

方式3-scale

kubectl scale 资源类型/资源名称 --replicas=10

[root@sg-14 k8s_yaml]# kubectl scale deployment/test --replicas=10

更新镜像

方式1:打标签

一层层的按照yaml写
[root@k8s-m-01 ~]# kubectl patch deployments.apps django -p '{"spec":{"template":{"spec":{"containers":[{"image":"nginx:1.18.0", "name":"nginx"}]}}}}'

方式2:修改配置清单

[root@sg-14 k8s_yaml]# vi test.yaml

image: nginx-lalal
#######
修改镜像版本
####### kubectl apply test.yaml //重新部署下

方式3:设置镜像

kubectl set image 资源类型/资源名称 镜像名字=镜像版本
[root@k8s-m-01 ~]# kubectl set image deployment/django nginx=nginx:1.16.0

方式4:修改edit

kubectl edit [资源类型] [资源名称]

[root@sg-14 k8s_yaml]# kubectl edit deployments test
找到-image修改

回滚

kubectl rollout undo [资源类型] [资源名称]
kubectl rollout history deployment test // 版本历史
kubectl rollout undo deployment test // 回滚上一个版本
kubectl rollout undo deployment test --to-revision=1 // 回滚指定版本

3、控制器-DaemonSet

daemonset.yaml

# 在集群中所有的节点上部署只部署一个Pod,新加入的node节点也会部署一个

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: zabbix-agent
spec:
selector:
matchLabels:
app: zabbix-agent
template:
metadata:
labels:
app: zabbix-agent
spec:
containers:
- name: nginx
image: nginx

修改配置文件daemonset

1、修改配置文件
[root@k8s-m-01 ~]# kubectl edit daemonsets.apps zabbix-agent 2、打标签的方式
[root@k8s-m-01 ~]# kubectl patch daemonsets.apps zabbix-agent -p '{"spec":{"template":{"spec":{"containers":[{"image":"zabbix/zabbix-agent:centos-5.2.4", "name":"zabbix-agent"}]}}}}'
daemonset.apps/zabbix-agent patched 3、设置镜像
[root@k8s-m-01 ~]# kubectl set image daemonset/zabbix-agent zabbix-agent=zabbix/zabbix-agent:centos-5.2.3
daemonset.apps/zabbix-agent image updated

回滚

## 回滚到上一个版本
[root@k8s-m-01 ~]# kubectl rollout undo daemonset zabbix-agent
daemonset.apps/zabbix-agent rolled back ## 回滚到指定版本
[root@k8s-m-01 ~]# kubectl rollout undo daemonset zabbix-agent --to-revision=1
daemonset.apps/zabbix-agent rolled back

4、StatudfluSet


最新文章

  1. Python 创建本地服务器环境生成二维码
  2. C语言 · 求矩阵各个元素的和
  3. SourceTree安装教程和GitLab配置详解
  4. 文件系统取证分析(第11章:NTFS概念)
  5. 【自用】爬虫配置XML时拼接URL中文转Unicode问题(例如北京转成%u5317%u4EAC)
  6. NpoiUtil
  7. PAT 1069. The Black Hole of Numbers (20)
  8. 参数化SQL小认识
  9. C#对数字添加逗号,千分位
  10. Android官方技术文档翻译——Gradle 插件用户指南(1-3)
  11. 在idea的maven项目使用el或jstl表达式
  12. [Unity]蓝鸥Untiy-RPC-Sample
  13. P3958 奶酪
  14. OpenGL.教程
  15. LeetCode(89):格雷编码
  16. Zabbix Agent 源码编译安装
  17. c++ vector的内存释放
  18. Mac下如何设置Eclipse默认浏览器为chrome
  19. 使用Qt Creator进行linux远程调试
  20. 团队项目--NABCD模型

热门文章

  1. InstallSheild相关
  2. Vulnhub实战-DockHole_1靶机👻
  3. 洛谷4299首都(LCT维护动态重心+子树信息)
  4. 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡
  5. Python实现九九乘法表
  6. 2020.5.17--牛客小白月赛25 F.疯狂的自我检索者
  7. vue基本指令与脚手架基本配置
  8. JS最简单的定时累加计数器
  9. SpringCloud微服务实战——搭建企业级开发框架(七):自定义通用响应消息及统一异常处理
  10. linux上docker形式部署GB28181服务wvp,zlmedia