首页/新闻资讯/正文详情

Kubenetes控制器

发布时间:2026/11/6 7:44:32 来源:云帆数科 栏目:资讯中心
Kubenetes控制器
一.Replicaset控制器1.建立控制器[rootmaster controler]# kubectl create deployment webcluster --image myapp:v1 --dry-runclient -o yaml repset.yml ​ [rootmaster controler]# vim repset.yml apiVersion: apps/v1 kind: ReplicaSet metadata: labels: app: webcluster name: webcluster spec: replicas: 2 selector: matchLabels: app: webcluster # strategy: {} template: metadata: labels: app: webcluster spec: containers: - image: myapp:v1 name: myapp ​ [rootmaster controler]# kubectl apply -f repset.yml ​ #打开一个新的shell [rootmaster ~]# watch -n 1 kubectl get pods --show-labels Every 1.0s: kubectl get pods --show-labels master: Sat Apr 11 10:08:32 2026 ​ NAME READY STATUS RESTARTS AGE LABELS webcluster-tbxq4 1/1 Running 0 6m49s appwebcluster webcluster-jna23 1/1 Running 0 6m49s appwebcluster ​ #拉伸 kubectl scale replicaset webcluster --replicas 4 kubectl scale replicaset webcluster --replicas 2 kubectl scale replicaset webcluster --replicas 0​2.测试功能[rootmaster controler]# vim repset.yml 。。。。 spec: replicas: 4 。。。。 ​ [rootmaster controler]# kubectl apply -f repset.yml ​ [rootmaster ~]# watch -n 1 kubectl get pods --show-labels Every 1.0s: kubectl get pods --show-labels master: Sat Apr 11 10:11:06 2026 ​ NAME READY STATUS RESTARTS AGE LABELS webcluster-4sxz4 1/1 Running 0 13s appwebcluster webcluster-lvtsn 1/1 Running 0 13s appwebcluster webcluster-tbxq4 1/1 Running 0 9m23s appwebcluster webcluster-tr5qk 1/1 Running 0 13s appwebcluster二.deployment1.监控[rootmaster ~]# watch -n 1 kubectl get pods --show-labels;echo ;kubectl get replicasets.apps2.建立deployment控制器[rootmaster controler]# kubectl create deployment webcluster --image myapp:v1 --dry-runclient -o yaml dep.yml [rootmaster controler]# vim dep.yml apiVersion: apps/v1 kind: Deployment metadata: labels: app: webcluster name: webcluster spec: minReadySeconds: 5 replicas: 2 selector: matchLabels: app: webcluster # strategy: {} template: metadata: labels: app: webcluster spec: containers: - image: myapp:v1 name: myapp # resources: {} ​ [rootmaster controler]# kubectl apply -f dep.yml ​ #监控部分显示效果 Every 1.0s: kubectl get pods --show-labels;echo ;kubectl get replicase... master: Sat Apr 11 10:43:24 2026 ​ NAME READY STATUS RESTARTS AGE LABELS webcluster-77c87d9946-49kh5 1/1 Running 0 45s appwebcluster,pod-template-hash77c87d9946 webcluster-77c87d9946-m2x2d 1/1 Running 0 45s appwebcluster,pod-template-hash77c87d9946 NAME DESIRED CURRENT READY AGE webcluster-77c87d9946 2 2 2 45s ​ ​ #发布服务 [rootmaster controler]# kubectl expose deployment webcluster --port 80 --target-port 80 [rootmaster controler]# kubectl describe services webcluster Name: webcluster Namespace: default Labels: appwebcluster Annotations: none Selector: appwebcluster Type: ClusterIP IP Family Policy: SingleStack IP Families: IPv4 IP: 10.107.142.60 IPs: 10.107.142.60 Port: unset 80/TCP TargetPort: 80/TCP Endpoints: 10.244.2.6:80,10.244.1.9:80 Session Affinity: None Internal Traffic Policy: Cluster Events: none ​ #访问 [rootmaster controler]# curl 10.107.142.60 Hello MyApp | Version: v1 | a hrefhostname.htmlPod Name/a3.升级和回滚#升级 [rootmaster controler]# vim dep.yml 。。。。 spec: minReadySeconds: 5 replicas: 2 selector: matchLabels: app: webcluster # strategy: {} template: metadata: labels: app: webcluster spec: containers: - image: myapp:v2 #升级为版本2 name: myapp 。。。。 [rootmaster controler]# kubectl apply -f dep.yml deployment.apps/webcluster configured [rootmaster controler]# curl 10.107.142.60 Hello MyApp | Version: v2 | a hrefhostname.htmlPod Name/a ​ #回滚 [rootmaster controler]# vim dep.yml 。。。。 spec: minReadySeconds: 5 replicas: 2 selector: matchLabels: app: webcluster # strategy: {} template: metadata: labels: app: webcluster spec: containers: - image: myapp:v1 #回滚为版本1 name: myapp 。。。。 [rootmaster controler]# kubectl apply -f dep.yml [rootmaster controler]# curl 10.107.142.60 Hello MyApp | Version: v1 | a hrefhostname.htmlPod Name/a ​三.版本更新管理及优化[rootmaster controler]# vim dep.yml spec: minReadySeconds: 5 replicas: 6 #把pod数量设定为6方便观察 selector: ​ [rootmaster controler]# kubectl apply -f dep.yml deployment.apps/webcluster configured1.查看更新策略信息[rootmaster controler]# kubectl describe deployments.apps webcluster RollingUpdateStrategy: 25% max unavailable, 25% max surge ​2.设定更新策略[rootmaster controler]# vim dep.yml spec: minReadySeconds: 5 replicas: 6 selector: matchLabels: app: webcluster strategy: rollingUpdate: maxSurge: 1 #更新时pod数量最多比期望值多一个 maxUnavailable: 0 #不能使用pod数量比期望值数量多0 template: metadata: labels: app: webcluster spec: containers: - image: myapp:v1 name: myapp ​ ​ [rootmaster controler]# kubectl apply -f dep.yml3.更新暂停和恢复[rootmaster controler]# kubectl rollout history deployment webcluster deployment.apps/webcluster REVISION CHANGE-CAUSE 7 none 8 none ​ [rootmaster controler]# kubectl rollout pause deployment webcluster #暂停更新 deployment.apps/webcluster paused [rootmaster controler]# vim dep.yml 。。。 containers: - image: myapp:v2 name: myapp 。。。 ​ [rootmaster controler]# kubectl apply -f dep.yml #执行成功。但更新过程在监控中没出现 deployment.apps/webcluster configured ​ ​ [rootmaster controler]# kubectl rollout history deployment webcluster deployment.apps/webcluster REVISION CHANGE-CAUSE 7 none 8 none ​ [rootmaster controler]# kubectl rollout resume deployment webcluster #开启更新 deployment.apps/webcluster resumed ​ [rootmaster controler]# kubectl rollout history deployment webcluster deployment.apps/webcluster REVISION CHANGE-CAUSE 8 none 9 none四.DaemonSet[rootmaster controler]# kubectl create deployment daemonset --image myapp:v1 --dry-runclient -o yaml daemonset.yml [rootmaster controler]# vim daemonset.yml apiVersion: apps/v1 kind: DaemonSet metadata: labels: app: daemonset name: daemonset spec: selector: matchLabels: app: daemonset template: metadata: labels: app: daemonset spec: containers: - image: myapp:v1 name: myapp ​ ​ ​ #另外开启一个主机node3并设定在初始化集群时的所有设定确保所有服务的开启 #在master中重新生成集群主机注册时需要的token [rootmaster controler]# kubeadm token create --print-join-command kubeadm join 172.25.254.100:6443 --token lqcz14.6f4krq91w75h58bt --discovery-token-ca-cert-hash sha256:6b5950ef2cdba85d6dfdb564ee90d4187fa3d341767dc9852cbdd5c9dee4f927 ​ ​ [rootnode3 ~]# kubeadm join 172.25.254.100:6443 --token lqcz14.6f4krq91w75h58bt --discovery-token-ca-cert-hash sha256:6b5950ef2cdba85d6dfdb564ee90d4187fa3d341767dc9852cbdd5c9dee4f927 --cri-socket unix:///var/run/cri-dockerd.sock ​ #当node3加入集群后会在node3中立即群星指定的pod其原因是因为运行了daemonset #可以在master中观察pod的状态五.Job控制器[rootmaster ~]# docker load -i perl-5.34.tar.gz [rootmaster ~]# docker tag perl:5.34.0 reg.timinglee.org/library/perl:5.34.0 [rootmaster ~]# docker login reg.timinglee.org -u admin Password: Login Succeeded [rootmaster ~]# docker push reg.timinglee.org/library/perl:5.34.0 ​ [rootmaster controler]# kubectl create job job --image perl:5.34.0 --dry-runclient -o yaml job.yml [rootmaster controler]# vim job.yml apiVersion: batch/v1 kind: Job metadata: name: testjob spec: completions: 6 parallelism: 2 backoffLimit: 4 template: spec: containers: - image: busybox name: testjob command: [/bin/sh, -c] args: - | echo this is testjob message sleep 10 restartPolicy: Never ​ ​ [rootmaster controler]# kubectl apply -f job.yml job.batch/job created ​ [rootk8s-master controller]# kubectl logs pods/testjob-4cdlr this is testjob message六.Cronjob控制器[rootmaster controler]# kubectl create cronjob cronjob --image busybox --schedule * * * * * --dry-runclient -o yaml cronjob.yml [rootmaster controler]# vim cronjob.yml apiVersion: batch/v1 kind: CronJob metadata: name: cronjob spec: jobTemplate: metadata: name: cronjob spec: template: spec: containers: - image: busybox name: cronjob command: - /bin/sh - -c - echo hello timinglee restartPolicy: OnFailure schedule: * * * * * ​ [rootmaster controler]# kubectl apply -f cronjob.yml #整分运行 ​ [rootmaster controler]# kubectl get cronjobs.batch NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE cronjob * * * * * none False 0 17s 70s ​ [rootmaster controler]# kubectl logs cronjob-29598241-pxggh hello timinglee ​

相关推荐

反编译是怎么做的:Tenkaichi3Decomp字节级还原PS2游戏的完整教程
反编译是怎么做的:Tenkaichi3Decomp字节级还原PS2游戏的完整教程

【免费下载链接】Tenkaichi3Decomp PC port of Dragon Ball Z: Budokai Tenkaichi 3, built on the BT3-Decompiled project. 项目地址: https://gitcode.com/gh_mirrors/te/Tenkaichi3Decomp 点击查看 免费下载 Tenkaichi3Decomp 是 PS2 名作《龙珠Z:电… · 2026/11/6 7:43:31

从仿制到定制:修改CreditSesameRingView配色、刻度与信用等级打造专属圆环进度条
从仿制到定制:修改CreditSesameRingView配色、刻度与信用等级打造专属圆环进度条

【免费下载链接】CreditSesameRingView Imitation of Ali credit sesame new old ring view.http://www.jianshu.com/p/8486a5baa708 项目地址: https://gitcode.com/gh_mirrors/cr/CreditSesameRingView 点击查看 免费下载 CreditSesameRingView 是一个免费的开源… · 2026/11/6 7:43:31

React-Slingshot 全栈集成教程:6 步把 React 前端和 Node.js 后端 API 打通
React-Slingshot 全栈集成教程:6 步把 React 前端和 Node.js 后端 API 打通

React-Slingshot 全栈集成教程:6 步把 React 前端和 Node.js 后端 API 打通 【免费下载链接】react-slingshot React Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and a working example app built in 项目地址: https://gitc… · 2026/11/6 7:43:31

电工证拍照技巧图片保姆级教程:别怕考不过白交培训费
电工证拍照技巧图片保姆级教程:别怕考不过白交培训费

电工证拍照技巧图片保姆级教程:别怕考不过白交培训费 怕考不过白交培训费?别急,先看懂这些拍照技巧,再考再报名都不晚。今天咱们不聊机构,就讲干货—— 电工证拍照技巧图片… · 2026/11/6 20:56:34

电工证作弊视频全流程办理指南:学历不高怕报不上名?官方报名入口全解析
电工证作弊视频全流程办理指南:学历不高怕报不上名?官方报名入口全解析

电工证作弊视频全流程办理指南:学历不高怕报不上名?官方报名入口全解析 你是不是也担心学历不高,连电工证都报不了?别急,今天咱们就来聊聊这个【电工证作弊视频】的话题,顺便告诉你怎么在【官方报名入口】上顺利报考,别再被那些“捷径”忽悠了。… · 2026/11/6 20:56:34

电工证必背代码网上查询全攻略 专为学历不高怕报不上名的你
电工证必背代码网上查询全攻略 专为学历不高怕报不上名的你

电工证必背代码网上查询全攻略 专为学历不高怕报不上名的你 你是不是还在为电工证报考发愁?学历不高怕报不上名?别急,今天我就从 商丘房建工程从业者 角度,一步步告诉你怎么搞定 电工证必背代码 ,以及如何通过 网上查询… · 2026/11/6 20:56:34

高压电工证几个月考试良心建议,别再被中介忽悠了
高压电工证几个月考试良心建议,别再被中介忽悠了

高压电工证几个月考试良心建议,别再被中介忽悠了 你是不是也和我一样,听说了高压电工证几个月考试这个事,心里一万个问号?到底怎么报名?什么时候能考?怕被中介坑?别慌,今天我来跟你唠清楚,从报考到考试,一整套流程说给你听,绝对 良心建议… · 2026/11/6 20:56:34

在哈尔滨哪能考电工证证怎么转异地
在哈尔滨哪能考电工证证怎么转异地

哈尔滨考电工证怎么转异地?外省证书含金量还在吗? 之前考的证在外省能不能转过来?这是很多在外地打工、又想在哈尔滨长期发展的人最关心的问题。尤其是在哈尔滨这类北方工业城市,电工证的 含金量… · 2026/11/6 20:56:34

高压电工证几个月考试网上查询方法全解析
高压电工证几个月考试网上查询方法全解析

高压电工证几个月考试网上查询方法全解析 你现在正在为找工作发愁,手里缺的就是一个高压电工证,别人都有证,你还在等?高压电工证几个月考试,这个问题直接关系到你能不能顺利上岗,甚至影响你未来的薪资和晋升通道。别再等了,现在就来搞清楚高压电工证的… · 2026/11/6 20:55:33

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

三菱PLC数据采集到数据库的时序设计:Python+MC协议实战
三菱PLC数据采集到数据库的时序设计:Python+MC协议实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

ASIC主模式RTL设计:状态机与三态驱动的流片级实现
ASIC主模式RTL设计:状态机与三态驱动的流片级实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

STM32嵌入式C++开发:GDB调试与Renode仿真实战指南
STM32嵌入式C++开发:GDB调试与Renode仿真实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 1:02:11

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/6 10:29:23

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码