Pod 调度基础

1.1.复制控制器 (replicationcontroller rc) : 让你的pod的副本数,保存在你的预期值 , 几乎不用了做副本用

提前编辑好文件

1.创建

复制代码
kubectl apply -f replicationcontroller-nginx.yaml

2.查看

复制代码
kubectl get pod

3.删除一个pod并立即查看pod状态

复制代码
kubectl delete pod nginx-9g78r -n default

4.删除 replicationcontroller

复制代码
kubectl delete -f  replicationcontroller-nginx.yaml

标签选择器 :》标签

标签定义的方式:

基于等时的定义

基于键值对定义方式:app: nginx

基于集合的标签定义方式: (key: app,operator In,values:nginx)

app:nginx

app:apache

2.1复制集控制器

deployment (部署) (无状态集控制器)
滚动更新,他能够管理复制集控制器

2.创建RS

复制代码
kubectl create -f replicaset-example.yaml   //提前编辑好yaml
查看
kubectl get pod
删除
kubectl delete -f replicaset-example.yaml

3.1无状态服务:nginx, apache, tomcat 特性:不会在本地存储持久化数据,没有依赖性

1.编写Deployment

复制代码
vim nginx-deployment

2.使用kubectl create创建Deployment

复制代码
kubectl create -f nginx-deployment.yaml

3.查看状态

复制代码
kubectl get deploy

4.使用rollout查看整个Deployment的创建过程状态

复制代码
kubectl rollout status deployment/nginx-deployment

5.查看这个Deployment 对应的RS

复制代码
kubectl get rs -l app=nginx

6.查看Deployment创建的pod

复制代码
kubectl get pods --show-labels

3.2更新Deployment

7.更新pod的image

复制代码
kubectl set image deployment nginx-deployment nginx=nginx:1.9.1 --record

kubectl set image deployment nginx-deployment nginx=nginx:1.12.0 --record

(3)查看某次更新的详情

复制代码
kubectl rollout history deployment/nginx-deployment --revision=2

4)回滚到指定版本

复制代码
kubectl rollout undo deployment/nginx-deployment --to-revision=2

查看:

复制代码
kubectl rollout history deployment/nginx-deployment

(5)回滚到上次版本

复制代码
kubectl rollout undo deployment/nginx-deployment

4:扩容 deployment

(1)调整 pod 的副本数

复制代码
kubectl scale deployment.v1.apps/nginx-deployment --replicas=3

查看

复制代码
kubectl get pods

有状态集控制器:,mysql,redis,kafka 有依赖

有两种删除方式
非级联删除:kubectl delete statefulset redis-sts --cascade=false
级联删除: kubectl delete statefulset redis-sts

(2)创建 statefulset

复制代码
kubectl create -f redis-statefulset.yaml

(3)查看statefilset 状态

复制代码
kubectl get sts

(4)查看群集状态

复制代码
kubectl get service
kubectl get poapp=redis-sts

2:statefulset扩容

(1)扩容,将副本数修改为 3

复制代码
kubectl scale sts redis-sts --replicas=3

守护进程集控制器 (缩写ds)

特点:副本数和node节点数相同

3:创建 Daemonset

复制代码
kubectl create namespace dev
kubectl create -f daemonset-nginx.yaml

4:查看 Daemonset

复制代码
kubectl get ds -n dev -o wide

5.删除DaemonSet

复制代码
kubectl delete ds pod-controller -n dev

五:CronJob

Cronjob(计划任务,缩写为 cj)用于以时间为基准的周期性地执行任务,这些自动化任务和运行在 Linux系统上的 CronJob 一样

1:创建 cronJob

(2)创建cronjob

复制代码
kubectl create -f cronjob-example.yaml

(3)查看

复制代码
kubectl get cj

等待一会后可以查看生成的 pod

相关推荐
adinnet202617 分钟前
财务报销自动化:用智能体辅助处理繁琐报销任务
运维·自动化
zhendianluli1 小时前
VS Code Remote-SSH 连接故障排查手册(精详版)
运维·ssh
Tim风声(网络工程师)1 小时前
Kail下载
linux·运维·服务器
JXJD20042 小时前
光模块自动化组装设备 工艺体系与选型指南
运维·自动化
AOwhisky2 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
zbyyd2 小时前
Linux 多线程:互斥锁 & 信号量
linux·c语言·开发语言·网络
wuyk5552 小时前
从零吃透Modbus通信|第3章:STM32 Modbus RTU主机
服务器·开发语言·网络·数据结构·stm32·单片机·嵌入式硬件
斑马1393 小时前
Linux软件编程学习笔记(四)——进程
linux·运维·服务器
扛枪的书生3 小时前
Linux 三剑客 - Awk 命令指南
linux·运维
MaximusCoder3 小时前
等保测评命令——weblogic
运维·安全·安全威胁分析