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

菜鸟建网站定制网站建设服务商

菜鸟建网站,定制网站建设服务商,哪里有免费的网站模板下载 迅雷下载 迅雷下载软件,政协信息化网站建设的请示欢迎访问网易云社区#xff0c;了解更多网易技术产品运营经验。前言默认读者有kubernetes基础概念的背景知识#xff0c;因此基础概念例如有状态、pod、Replica Sets、Deployments、statefulsets等不在此文详细阐述。 可以看我之前的一些关于kubernetes的文章#xff1a;kub…欢迎访问网易云社区了解更多网易技术产品运营经验。前言默认读者有kubernetes基础概念的背景知识因此基础概念例如有状态、pod、Replica Sets、Deployments、statefulsets等不在此文详细阐述。 可以看我之前的一些关于kubernetes的文章kubernetes 1.3管中窥豹- RSReplica Setskubernetes podcontainer生命周期浅析kubernetes1.6管中窥豹-StatefulSets概念、约束、原理及实例本文主要介绍一个1.7以后出现的新概念CRDCustomResourceDefinition 的概念、使用场景及实例。CRD历史来源k8s1.6~1.7TRPCRD的前身Third Party Resource。k8s1.7CRD Custom Resource Definition。CRD的概念Custom resources是对K8S API的扩展代表了一个特定的kubetnetes的定制化安装。在一个运行中的集群中自定义资源可以动态注册到集群中。注册完毕以后用户可以通过kubelet创建和访问这个自定义的对象类似于操作pod一样。Custom controllersCustom resources可以让用户简单的存储和获取结构化数据。只有结合控制器才能变成一个真正的declarative API被声明过的API。控制器可以把资源更新成用户想要的状态并且通过一系列操作维护和变更状态。定制化控制器是用户可以在运行中的集群内部署和更新的一个控制器它独立于集群本身的生命周期。 定制化控制器可以和任何一种资源一起工作当和定制化资源结合使用时尤其有效。Operator模式 是一个customer controllers和Custom resources结合的例子。它可以允许开发者将特殊应用编码至kubernetes的扩展API内。如何添加一个Custom resources到我的kubernetes集群呢 kubernetes提供了两种方式将Custom resources添加到集群。1. Custom Resource Definitions (CRDs)更易用、不需要编码。但是缺乏灵活性。2. API Aggregation需要编码允许通过聚合层的方式提供更加定制化的实现。本文重点讲解Custom Resource Definitions (CRD的使用方法。CRD使用场景假设需要在原生kubernetes完成一些额外的功能开发而且想使用restful风格的API 去调用这个功能。比如像开发容器保存镜像或者重启镜像等操作一般都通过命令发送给容器内部完成。就可以在原生kubernetes上增加一个CRD命名为task。通过task触发一些逻辑。当使用apiserver下发这个task创建时Custom controllers watch到这个task就开始处理相关业务逻辑然后通过agent调用docker命令完成容器保存镜像功能并且重启容器。当Custom controllers watch到pod重新运行的时候本次操作完成。 流程图如下CRD使用示例如果想要完成上述场景的功能需要定义一个CRD并且创建出来。 举例如下以下是一个可以在1.9集群环境中创建成功的crd yaml文件。apiVersion: apiextensions.k8s.io/v1beta1kind: CustomResourceDefinitionmetadata:# name must match the spec fields below, and be in the form: plural.group  name: tasks.163yun.comspec:# group name to use for REST API: /apis/group/version  group: 163yun.com# version name to use for REST API: /apis/group/version  version: v1# either Namespaced or Cluster  scope: Namespaced  names:# plural name to be used in the URL: /apis/group/version/plural    plural: tasks# singular name to be used as an alias on the CLI and for display    singular: task# kind is normally the CamelCased singular type. Your resource manifests use this.    kind: Task# shortNames allow shorter string to match your resource on the CLI    shortNames:- task其中几个关键要素是name、group、scope以及names里面的一些定义。name用于定义CRD的名字后缀需要跟group一致例如tasks.163yun.com,前缀需要跟names中的plural一致。group以及version用于标识restAPI即/apis//。 上文中的接口前面一部分就是/apis/163yun.com/v1scope: 表明作用于可以是基于namespace的也可以是基于集群的。 如果是基于namespace的。则API格式为/apis/{group}/v1/namespaces/{namespace}/{spec.names.plural}/… 如果是基于cluster的。则API格式为/apis/{group}/v1/{spec.names.plural}/… 上文创建的CRD的API则为/apis/163yun.com/v1/namespaces/{namespace}/tasksnames描述了一些自定义资源的名字以及类型的名字重点是plural定义以及kind定义因为会在url或者查询资源中用的到。当以上面的模板创建出来一个CRD后可以查到crd的信息roothzyq-k8s-qa-16-master:~/cxq# kubectl  get CustomResourceDefinition tasks.163yun.com   -o yaml  apiVersion: apiextensions.k8s.io/v1beta1kind: CustomResourceDefinitionmetadata:  creationTimestamp: 2018-03-16T06:17:03Z  generation: 1  name: tasks.163yun.com  resourceVersion: 35442027  selfLink: /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/tasks.163yun.com  uid: a538030c-28e1-11e8-b047-fa163ef9812dspec:  group: 163yun.com  names:    kind: Task    listKind: TaskList    plural: tasks    shortNames:- task    singular: task  scope: Namespaced  version: v1status:  acceptedNames:    kind: Task    listKind: TaskList    plural: tasks    shortNames:- task    singular: task  conditions:- lastTransitionTime: 2018-03-16T06:17:03Z    message: no conflicts found    reason: NoConflicts    status: True    type: NamesAccepted- lastTransitionTime: 2018-03-16T06:17:03Z    message: the initial names have been accepted    reason: InitialNamesAccepted    status: True    type: Established这时查询crd中定义的task类型的资源是空的roothzyq-k8s-qa-16-master:~/cxq# kubectl  get  task   -o yaml  apiVersion: v1items: []kind: Listmetadata:  resourceVersion:   selfLink: 这时需要自定义一个task类型的模板创建以使得task可以触发自定义的一些事件roothzyq-k8s-qa-16-master:~/cxq# cat cxq-task.yaml  apiVersion: 163yun.com/v1kind: Taskmetadata:  name: cxq-nce-taskspec:  cronSpec: * * * * /5  image: my-awesome-cron-image roothzyq-k8s-qa-16-master:~/cxq# kubectl create -f cxq-task.yaml  task cxq-nce-task created roothzyq-k8s-qa-16-master:~/cxq#  kubectl get task -o yamlapiVersion: v1items:- apiVersion: 163yun.com/v1  kind: Task  metadata:    clusterName:     creationTimestamp: 2018-03-16T06:43:10Z    labels: {}    name: cxq-nce-task    namespace: default    resourceVersion: 35444352    selfLink: /apis/163yun.com/v1/namespaces/default/tasks/cxq-nce-task    uid: 4ad237aa-28e5-11e8-b047-fa163ef9812d  spec:    cronSpec: * * * * /5    image: my-awesome-cron-imagekind: Listmetadata:  resourceVersion:   selfLink: 注意由于CRD和自定义的Task资源本身是namespace无关的因此对所有namespace都可见。如果指定了scope为namespace。那么创建的自定义task也需要指定namespace如果不指定的话系统会自动将task分配到default 的namespace下。这时可以通过task的url去对自定义的task资源进行操作或者watch。结合上一节的流程图来完成实现自定义功能的目的。以下是调用watch接口对task资源进行长连接监控变化。roothzyq-k8s-qa-16-master:~/cxq# curl http://10.180.156.79:8080/apis/163yun.com/v1/namespaces/default/tasks?watchtrue {type:ADDED,object:{apiVersion:163yun.com/v1,kind:Task,metadata:{clusterName:,creationTimestamp:2018-03-16T06:43:10Z,labels:{},name:cxq-nce-task,namespace:default,resourceVersion:35444352,selfLink:/apis/163yun.com/v1/namespaces/default/tasks/cxq-nce-task,uid:4ad237aa-28e5-11e8-b047-fa163ef9812d},spec:{cronSpec:* * * * /5,image:my-awesome-cron-image}}}总结CRD提供了一种无须编码就可以扩展原生kubenetes API接口的方式。很适合在云应用中扩展kubernetes的自定义接口和功能。在一些无须太多定制和灵活的开发场景下CRD的方式已经足够使用。如果想更为灵活的添加逻辑就需要参考API Aggregation的使用了。网易云容器服务为用户提供了无服务器容器让企业能够快速部署业务轻松运维服务。容器服务支持弹性伸缩、垂直扩容、灰度升级、服务发现、服务编排、错误恢复及性能监测等功能。点击免费试用相关阅读浅谈 kubernetes service 那些事上篇浅谈 kubernetes service 那些事 下篇本文来自网易实践者社区经作者崔晓晴授权发布。     相关文章【推荐】 聊一聊整车厂的那些事——售后配件业务【推荐】 演讲实录谷得技术总监陈镇洪教你打造游戏研发流水线【推荐】 知物由学 | 见招拆招Android应用破解及防护秘籍转载于:https://www.cnblogs.com/zyfd/p/10000945.html
http://wiki.neutronadmin.com/news/171076/

相关文章:

  • 网站怎么不花钱做排名 知乎个人做网站多少钱
  • 网站建设公众号青岛建个网站多少钱
  • 辽宁省建设厅官方网站开发区邮编
  • iis 网站权限wordpress怎么增加按钮
  • 滨州市住房和城乡建设厅网站制作一个网站需要注意什么
  • 湖北网站推广方案留言板网页模板
  • 网站建立与推广中职学校网站建设方案
  • 网站显示图片标记万网域名查询接口
  • 建设局网站投诉开发商赣州做网站的公司有哪家
  • 国内优秀网站设计欣赏平邑网站定制
  • 女装市场网站建设费用评估查询网站有没有备案
  • 网站推广代运营wordpress 建站视频
  • 网站设计的提案想注册一个设计网站吗
  • 营销网站制作流程英文网站建设比较好
  • 服装代销的网站源码佛山营销型建设网站
  • wordpress建站资源网站模块分类
  • 淘宝上做淘宝客的网站jqueryui做的网站
  • 网站建设类的论文题目qq网页注册入口
  • 网站建设工作分解wordpress内置分页显示总页数
  • 企业建设网站有什么作用北京微信网站搭建费用
  • 门户网站时代朋友做的网站图片不显示
  • 成都零起飞网站建设建筑工程找工作平台
  • 广州建筑公司招聘网站asp 网站后台
  • 苏州行业网站建设桂林象鼻山要门票吗
  • 外贸网站开发推广网店如何推广
  • 晋城网站建设价格如何修改网页上的内容
  • 网站页数上海ktv最新通知
  • 淘宝客推广网站建设悦阁网站建设
  • 国家关于网站信息建设管理文件现在中美关系最新消息
  • asp网站后台密码文件网站首页专题怎么做