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

专门做游轮的网站南京鼓楼做网站的公司

专门做游轮的网站,南京鼓楼做网站的公司,东莞seoseo关键词排名优化,网页设计大设计师K8S最小调度单元POD概述 k8s核心资源Pod介绍Pod是什么Pod如何管理多个容器Pod网络Pod存储代码自动发版更新收集业务日志 Pod工作方式自主式Pod控制器管理的Pod(防误删除) 如何基于Pod运行应用 k8s核心资源Pod介绍 K8s官方文档#xff1a;https://kubernetes.io/ K8s中文官方文… K8S最小调度单元POD概述 k8s核心资源Pod介绍Pod是什么Pod如何管理多个容器Pod网络Pod存储代码自动发版更新收集业务日志 Pod工作方式自主式Pod控制器管理的Pod(防误删除) 如何基于Pod运行应用 k8s核心资源Pod介绍 K8s官方文档https://kubernetes.io/ K8s中文官方文档 https://kubernetes.io/zh/ K8s Github地址https://github.com/kubernetes/kubernetes Pod资源对应的官方文档https://kubernetes.io/zh-cn/docs/concepts/workloads/pods/ Pod是什么 Pod是Kubernetes中的最小调度单元k8s是通过定义一个Pod的资源然后在Pod里面运行容器容器需要指定一个镜像这样就可以用来运行具体的服务。一个Pod封装一个容器也可以封装多个容器Pod里的容器共享存储、网络等。也就是说应该把整个pod看作虚拟机然后每个容器相当于运行在虚拟机的进程。 Pod是需要调度到k8s集群的工作节点来运行的具体调度到哪个节点是根据scheduler调度器实现的。 pod相当于一个逻辑主机–比方说我们想要部署一个tomcat应用如果不用容器我们可能会部署到物理机、虚拟机或者云主机上那么出现k8s之后我们就可以定义一个pod资源在pod里定义一个tomcat容器所以pod充当的是一个逻辑主机的角色。 Pod如何管理多个容器 Pod中可以同时运行多个容器。同一个Pod中的容器会自动的分配到同一个 node 上。同一个Pod中的容器共享资源、网络环境它们总是被同时调度在一个Pod中同时运行多个容器是一种比较高级的用法只有当你的容器需要紧密配合协作的时候才考虑用这种模式。例如你有一个容器作为web服务器运行需要用到共享的volume有另一个“sidecar”容器来从远端获取资源更新这些文件。 一些Pod有init容器和应用容器。 在应用程序容器启动之前运行初始化容器。 Pod网络 Pod是有IP地址的假如pod不是共享物理机ip由网络插件calico、flannel、weave划分的ip每个pod都被分配唯一的IP地址 Kubernetes中容器共享的方式 在k8s中启动Pod时会先启动⼀个pause 的容器然后将后续的所有容器都 link 到这个pause 的容器以实现⽹络共享。 Pod存储 创建Pod的时候可以指定挂载的存储卷。 POD中的所有容器都可以访问共享卷允许这些容器共享数据。 Pod只要挂载持久化数据卷Pod重启之后数据还是会存在的。 代码自动发版更新 假如生产环境部署了一个go的应用而且部署了几百个节点希望这个应用可以定时的同步最新的代码以便自动升级线上环境。这时我们不希望改动原来的go应用可以开发一个Git代码仓库的自动同步服务然后通过Pod的方式进行编排并共享代码目录就可以达到更新java应用代码的效果。 收集业务日志 某服务模块已经实现了一些核心的业务逻辑并且稳定运行了一段时间日志记录在了某个目录下按照不同级别分别为 error.log、access.log、warning.log、info.log现在希望收集这些日志并发送到统一的日志处理服务器上。 这时我们可以修改原来的服务模块在其中添加日志收集、发送的服务但这样可能会影响原来服务的配置、部署方式从而带来不必要的问题和成本也会增加业务逻辑和基础服务的藕合度。 如果使用Pod的方式通过简单的编排既可以保持原有服务逻辑、部署方式不变又可以增加新的日志收集服务。 而且如果我们对所有服务的日志生成有一个统一的标准或者仅对日志收集服务稍加修改就可以将日志收集服务和其他服务进行Pod编排提供统一、标准的日志收集方式。 这里的“核心业务服务”、“日志收集服务”分别是一个镜像运行在隔离的容器环境中。 Pod工作方式 在K8s中所有的资源都可以使用一个yaml文件来创建创建Pod也可以使用yaml配置文件。或者使用kubectl run在命令行创建Pod不常用。 自主式Pod 所谓的自主式Pod就是直接定义一个Pod资源如下 vim pod-tomcat.yaml apiVersion: v1 kind: Pod metadata:name: tomcat-testnamespace: defaultlabels:app: tomcat spec:containers:- name: tomcat-javaports:- containerPort: 8080image: tomcat/tomcat-8.5-jre8:v1imagePullPolicy: IfNotPresent导入镜像 把tomcat.tar.gz上传到k8snode1和k8snode2节点手动解压 链接https://pan.baidu.com/s/1BGUFkkwFnZ-OF80weq0pQQ?pwdr6ri 提取码r6ri ctr -nk8s.io images import tomcat.tar.gz更新资源清单文件 kubectl apply -f pod-tomcat.yaml 查看pod是否创建成功 kubectl get pods -o wide -l apptomcat 但是自主式Pod是存在一个问题的假如我们不小心删除了pod kubectl delete pods tomcat-test查看pod是否还在 kubectl get pods -l apptomcat结果是空说明pod已经被删除了 通过上面可以看到如果直接定义一个Pod资源那Pod被删除就彻底被删除了不会再创建一个新的Pod这在生产环境还是具有非常大风险的所以今后我们接触的Pod都是控制器管理的。 控制器管理的Pod(防误删除) 常见的管理Pod的控制器Replicaset、Deployment、Job、CronJob、Daemonset、Statefulset。 控制器管理的Pod可以确保Pod始终维持在指定的副本数运行。 如通过Deployment管理Pod 解压镜像把nginx.tar.gz上传到k8snode1和k8snode2节点 链接https://pan.baidu.com/s/1EDLQ8Zt9goRFEo9K83Ufwg?pwdqv3q 提取码qv3q ctr -nk8s.io images import nginx.tar.gzvim nginx-deploy.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-testlabels:app: nginx-deploy spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:labels:app: nginxspec:containers:- name: my-nginximage: nginx/nginx:v1imagePullPolicy: IfNotPresentports:- containerPort: 80更新资源清单文件 kubectl apply -f nginx-deploy.yaml查看Deployment kubectl get deploy -l appnginx-deploy查看Replicaset kubectl get rs -l appnginx查看pod kubectl get pods -o wide -l appnginxNAME READY STATUS IP nginx-test-75c685fdb7-6d4lx 1/1 Running 10.244.102.69 nginx-test-75c685fdb7-9s95h 1/1 Running 10.244.102.68 删除nginx-test-75c685fdb7-9s95h这个pod kubectl delete pods nginx-test-75c685fdb7-9s95hkubectl get pods -o wide -l appnginx NAME READY STATUS IP nginx-test-75c685fdb7-6d4lx 1/1 Running 10.244.102.69 nginx-test-75c685fdb7-pr8gh 1/1 Running 10.244.102.70 发现重新创建一个新的pod是nginx-test-75c685fdb7-pr8gh 通过上面可以发现通过deployment管理的pod可以确保pod始终维持在指定副本数量 可以通过指定配置文件删除对应pod kubectl delete -f nginx-deploy.yaml如何基于Pod运行应用 创建pod流程 kubectl apply -f nginx-deploy.yaml-找到config文件基于config文件指定的用户访问指定的集群这样就找到了apiserver 通过 kubectl 命令向 apiserver 提交创建pod的请求apiserver接收到pod创建请求后会将pod的属性信息(metadata)写入etcd。apiserver触发watch机制准备创建pod信息转发给调度器scheduler调度器使用调度算法选择node调度器将node信息给apiserverapiserver将绑定的node信息写入etcdapiserver又通过watch机制调用kubelet指定pod信息调用容器运行时创建并启动pod内的容器。创建完成之后反馈给kubelet, kubelet又将pod的状态信息给apiserver,apiserver又将pod的状态信息写入etcd。
http://www.dnsts.com.cn/news/113428.html

相关文章:

  • 学校网站制作方案公众号建网站
  • 高清免费观看电视网站开发网站的意义
  • 莆田山亭乡建设局网站阳江兼职招聘网最新招聘
  • 番禺品牌型网站wordpress vue.js
  • 婚嫁网站模板在网站后台为什么不显示百分号
  • 自然志wordpress代码优化网站排名
  • 兰州微网站ui设计师面试自我介绍
  • 切实加强门户网站建设阿里云申请域名做网站
  • 百度推广建站平台梧州论坛一红豆社区
  • 上海专业网站建一百互联网站建设
  • 网站备案查询工信部手机版线上推广员是干什么的兼职
  • 网站是哪个建站公司做的外包公司不给员工发工资怎么办
  • 网站的做代理商淘宝关键词搜索排行榜
  • 网站项目建设计划网站诊断博客
  • 辽源网站建设开发公司资质哪里查
  • 我的网站360搜索被做跳转魔艺极速建站
  • 湖南信息网官方网站郑州购物网站建设
  • 临沂做商城网站的公司网站 改版 建议
  • 网站上的彩票走势图是怎么做的企业seo网站营销推广
  • 网站开发方式演进网站设计要如何做支付功能
  • 网站html源码西安网站维护
  • 平面网站设计全网营销公司排名前十
  • 网站怎么屏蔽ip访问搞笑网站模板
  • 百度百科查询网站改版对seo
  • php网站服务器架设电子贺卡制作模板
  • 汉字域名的网站有哪些杨凌开发建设局网站
  • dw怎样建设网站建设网站宣传页
  • 做淘客网站企业备案wordpress小论坛
  • 网站标题优化 英文提供企业网站建设方案
  • 在网站和网页的区别网店运营计划书范文