当前位置: 首页 > news >正文

中国电力建设集团股份有限公司网站建筑网格布搭接

中国电力建设集团股份有限公司网站,建筑网格布搭接,秦皇岛酒店网站设计,广州专业网站优化公司文章目录 一、控制器类型二、Deployment控制器三、SatefulSet控制器四、Daemonset控制器五、Job控制器六、CronJob 控制器 一、控制器类型 Deployment#xff1a;适合无状态的服务部署StatefullSet#xff1a;适合有状态的服务部署DaemonSet#xff1a;一次部署#xff0c… 文章目录 一、控制器类型二、Deployment控制器三、SatefulSet控制器四、Daemonset控制器五、Job控制器六、CronJob 控制器 一、控制器类型 Deployment适合无状态的服务部署StatefullSet适合有状态的服务部署DaemonSet一次部署所有的node节点都会部署Job一次性的执行任务Cronjob周期性的执行任务 二、Deployment控制器 简介 一般情况下我们并不直接创建 Pod而是通过 Deployment 来创建 Pod由 Deployment 来负责创建、更新、维护其所管理的所有 Pods。 过程 1创建Deployment 2调用deployment-controllerdeployment控制器创建一个ReplicaSet 3ReplicaSet调用replicaset-controller创建pod 4Pod创建完之后就会由启用资源调度程序default-scheduler将pod分配对应的node节点由kubelet管理pod 应用场景 1定义Deployment来创建Pod和ReplicaSet 2滚动升级和回滚应用 3扩容和缩容 4暂停和继续Deployment 编写yaml清单vi deployment-nginx.yaml apiVersion: apps/v1 kind: Deployment metadata:name: deployment-nginx #Deployment 的名称labels:app: nginx spec:replicas: 3 # 创建 Pod 的副本数selector: #定义 Deployment 如何找到要管理的 Pod与 template 的 label标签对应matchLabels:app: nginxtemplate: #字段包含以下字段metadata:labels:app: nginx #使用 label标签标记 Podspec: #表示 Pod 运行一个名字为 nginx 的容器containers:- name: nginximage: nginx:1.15 #表示 Pod 运行一个名字为 nginx 的容器ports: #容器用于发送和接收流量的端口- containerPort: 80创建控制器 kubectl apply -f deployment-nginx.yaml 查看 kubectl get deployment 三、SatefulSet控制器 简介 StatefulSet是用来管理有状态应用的工作负载API对象实例之间有不对等关系以及实例对外部数据有依赖关系的应用称为有状态应用。 StatefulSet本质上是Deployment的一种变体在v1.9版本中已成为GA版本它为了解决有状态服务的问题它所管理的Pod拥有固定的Pod名称启停顺序在StatefulSet中Pod名字称为网络标识(hostname)还必须要用到共享存储。 在Deployment中与之对应的服务是service而在StatefulSet中与之对应的headless serviceheadless service即无头服务与service的区别就是它没有Cluster IP解析它的名称时将返回该Headless Service对应的全部Pod的Endpoint列表。 service与Headless service 区别 service一组Pod访问策略提供cluster-IP群集之间通讯还提供负载均衡和服务发现。Headless service 无头服务不需要cluster-IP直接绑定具体的Pod的IP。 应用场景 1 稳定的持久化存储 通过VolumeClaimTemplate为每个Pod创建一个PV。即使Pod重新调度后还是能访问到相同的持久化数据 基于PVC来实现 2 稳定的网络标志 即Pod重新调度后其Pod Name和HostName不变 基于Headless Service(即没有ip地址和端口的ClusterIP) 来实现 3 有序部署 有序扩展有序收缩对于N个副本的StatefulSet每个Pod都在[0N)的范围内分配一个数字序号且是唯一的 基于initcontainers来实现 编写yaml清单vi statefulset-nginx.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: web-statefulset spec: serviceName: nginx-statefulsetreplicas: 3selector: matchLabels: app: nginx-statefulsettemplate: metadata: labels: app: nginx-statefulsetspec: containers: - name: nginx-statefulsetimage: nginxports: - containerPort: 80name: web-statefulset创建资源文件kubectl apply -f statefulset-nginx.yaml 查看启动的podkubectl get pod psstatefulset资源控制器启动后pod的名称为psstatefulsetName-[0-n] 起一个容器并且进入容器内部kubectl run -it --image busybox:1.28.4 dns-test --restartNever --rm /bin/sh 在容器内测试ping web-statefulset-0.nginx-statefulset 查看地址nslookup web-statefulset-0.nginx-statefulset StatefulSet的DNS说明 StatefulSet中每个Pod的 DNS格式为statefulSetName-{0..N-1}.serviceName.namespace.svc.cluster.local 1. serviceName为 Headless Service的名字 2. 0..N-1为Pod所在的序号从О开始到N-1 3. statefulSetName为StatefulSet的名字 4. namespace为服务所在的namespace,Headless Servic和StatefulSet必须在相同的namespace 5. .cluster.local为Cluster Domain StatefulSet扩容与缩容命令的两种命令 1. kubectl scale statefulset web-statefulset --replicas5 2. kubectl patch statefulset web-statefulset -p {spec:{replicas:2}}StatefulSet不支持直接更新镜像需要使用patch间接实现 kubectl patch statefulset web-statefulset --typejson -p[{op:replace,path:/spec/template/spec/containers/0/image,value:nginx:1.9.1}]四、Daemonset控制器 简介 服务守护进程它的主要作用是在Kubernetes集群的所有节点中运行我们部署的守护进程相当于在集群节点上分别部署Pod副本如果有新节点加入集群Daemonset会自动的在该节点上运行我们需要部署的Pod副本相反如果有节点退出集群Daemonset也会移除掉部署在旧节点的Pod副本。 应用场景 1日志系统的日志收集 2监控系统的数据收集 编写yaml清单vi daemonSet-nginx.yaml apiVersion: apps/v1 kind: DaemonSet #创建DaemonSet资源 metadata:name: fluentd #名字 spec: selector: matchLabels: app: loggingtemplate: metadata: labels: app: loggingid: fluentdname: fluentdspec:containers: - name: fluentd-esimage: agilestacks/fluentd-elasticsearch:v1.3.0env: #环境变量配置- name: FLUENTD_ARGS #环境变量的keyvalue: -qq #环境变量的valuevolumeMounts: #加载数据卷,避兔数据丢失- name: containers #数据卷名字mountPath: /var/lib/docker/containers #将数据卷挂载到容器内的哪个目录- name: varlogmountPath: /varlogvolumes: #定义数据卷- hostPath: #数据卷类型主机路径的模式也就是与node 共享目录path: /var/lib/docker/containers # node中的共享目录name: containers #定义的数据卷的名称- hostPath:path: /var/logname: varlog创建资源kubectl apply -f daemonSet-nginx.yaml 查看kubectl get pod -o wide ps可以看到默认在工作节点地下都生成了DaemonSet的pod 修改配置kubectl edit ds fluentd Daemonset会忽略Node的unschedulable状态有几种方式来指定 Pod只运行在指定的Node节点上: nodeSelector:只调度到匹配指定label的Node 上 nodeAffinity:功能更丰富的Node选择器比如支持集合操作 podAffinity:调度到满足条件的Ped所在的Node 上spec:nodeSelector:type: microservervices再次查看podkubectl get pod 查看node的label发现没有符合部署pod条件的kubectl get node --show-labels 给worker1和worker2添加标签 kubectl label no worker1 typemicroservervices kubectl label no worker2 typemicroservervices再次查看podkubectl get pod 五、Job控制器 简介 Job控制器用于调配pod对象运行一次性任务容器中的进程在正常运行结束后不会对其进行重启而是将pod对象置于completed状态。若容器中的进程因错误而终止则需要依据配置确定重启与否未运行完成的pod对象因其所在的节点故障而意外终止后会被重新调度。 编写yaml清单vi job-demo.yaml apiVersion: batch/v1 kind: Job metadata:name: job-demo spec:template:metadata:name: job-demospec:restartPolicy: Nevercontainers:- name: counterimage: busyboxcommand:- bin/sh- -c- for i in 9 8 7 6 5 4 3 2 1; do echo $i; done创建podkubectl apply -f job-demo.yaml 查看 kubectl logs job-demo-4dr95 六、CronJob 控制器 简介 CronJob其实就是在Job的基础上加上了时间调度类似Linux中的crontab。 crontab格式 ps多个时间可以用逗号隔开 范围可以用连字符给出*可以作为通配符 /表示每… 分钟 值从 0 到 59. 小时 值从 0 到 23. 日 值从 1 到 31. 月 值从 1 到 12. 星期 值从 0 到 6, 0 代表星期日编写yaml清单vi cronJob-demo.yaml apiVersion: batch/v1 kind: CronJob metadata:name: cronjob-demo spec:schedule: */1 * * * *jobTemplate:spec:template:spec:restartPolicy: OnFailurecontainers:- name: helloimage: busyboxargs:- /bin/sh- -c- for i in 9 8 7 6 5 4 3 2 1; do echo $i; done 创建podkubectl apply -f cronJob-demo.yaml 查看kubectl get pod ps一分钟执行一次 查看 kubectl logs cronjob-demo-28281040-866ns
http://wiki.neutronadmin.com/news/33162/

相关文章:

  • 公司网站制作范文厦门外贸网站建
  • 网站建设中标通州网站制作
  • 产品设计网站官网网站开发全科班
  • 网站导航页面设计湖北 商城网站建设多少钱
  • 织梦网站栏目无法生成怎么在手机上做微电影网站
  • 网站黑链检测端午节网站怎么做
  • 网站设计的关键做的比较好看的国内网站
  • 站长统计免费下载网络推广公司重诚
  • 邢台大峡谷烟台seo网站诊断
  • 陕西网站建设价格佛山顺德容桂网站制作
  • 对网站开发的理解500字wordpress 简洁主题
  • 查看网站域名网站搜索引擎提交
  • 网站平台如何推广济南中建设计院 官方网站
  • 潍坊市建设工程质量安全监督站网站wordpress主题的文件在哪个文件夹
  • 平乡县网站建设国内服装电商平台
  • 大型网站制作平台苏州保洁公司哪家最好
  • 进口食品销售销售在那个网站做个人网站建设的目的
  • 网站建设行业网站wordpress类别id
  • 扁平化色块风格的网站固定ip如何做网站服务器
  • 连云港网站关键字优化如何东莞市网站seo
  • 高端的网站设计公司廉洁长沙网站
  • 做装饬在哪家网站挂wordpress推荐适合seo的主题
  • 团支书登录智慧团建网站哪里有学做ppt的网站
  • 屏幕分辨率 网站开发江苏中兴建设有限公司网站
  • 基于asp.net电子商务网站开发实践中的关键技术和应用flash代码做网站教程
  • c 精品课程建设网站源程序asp加dw做网站
  • 做低价的跨境电商网站广州市照明建设管理中心网站
  • 上市设计网站对电子商务网站建设的认识
  • 旅游网站建设风险建设银行网站用什么字体
  • 苍梧网站建设公司产品营销广告宣传