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

深圳正规做网站的公司反无人机防御系统

深圳正规做网站的公司,反无人机防御系统,aaa免费服务器,在哪注册域名k8s架构 1、服务的分类 服务分类按如下图根据数据服务支撑#xff0c;分为无状态和有状态 无状态引用如下所示#xff0c;如果一个nginx服务#xff0c;删除后重新部署有可以访问#xff0c;这个属于无状态#xff0c;不涉及到数据存储。 有状态服务#xff0c;如redis分为无状态和有状态 无状态引用如下所示如果一个nginx服务删除后重新部署有可以访问这个属于无状态不涉及到数据存储。 有状态服务如redis如果用户访问应用生成的token存储在redis中如果把这个redis删除重新部署redis后这个用户还能正常访问么肯定是不是可以正常访问用户的token都会没。 2、资源和对象 Kubernetes中的所有内容部被抽象为资源如Pod、Service、Node等都是资源。对象就是资源的实例。是持久化的实体如某个具体的Pod、某个具体的Node。Kubernetes使用这些实体去表示整个集群和的状态。对象的创建、删除、修改都是通过Kubernetes APl也就是Api Server组件提供的API接口这些是RESTful风格的Api与k8s的万物皆对象理念相符。命令行工具“kubectl,实际上也是调用kubernetes api。K8s中的资源类别有很多种kubectl可以通过配置文件来创建这些“对象”配置文件更像是描述对象属性“的文件配置文件格式可以是“JSON或YAML,常用YAML。 2.1 资源的分类 2.1.1 元数据型 对于资源的元数据描述是每一个资源都可以使用元空间的数据 1 自动扩缩容 Horizontal Pod Autoscaler (HPA) 场景eg假设某个抢购场景早上10点抢购假设正常是有2个服务使用 10点抢购时高并发场景可以自定义在10点前自动扩容成10个服务使用服务期流量降低后自动缩减成2个服务正常使用。 HPA是Pod自动扩容可以根据CPU使用率或白定义指标(metrics)自动对Pod进行扩缩容。 控制管理器每隔30s(可以通过-horizontal–pod-autoscaler-sync-period修改)查询metrics的资源使用情况支持三种metrics类型 预定义metrics(比如Pod的cpU)以利用率的方式计算自定义的Pod metrics,以原始值(raw value)的方式计算自定义的object metrics 支特两种metrics查间方式Heapster和白定义的REST API支持多metrics 2 Pod模板定义 PodTemplate 场景eg原本有5个应用现在要把5个应用扩容成10个应用创建的新的应用应该是要和之前的5个应用一致会基于这5个应用有一个配置文件这个文件中会有spec.template.描述模版那么新的应用会根据这个模版来创建应用。 Pod Template是关于Pod的转义但是被包含在其他的Kubernetes对象中例攸如Deployment、.StatefulSet、DaemonSet等控制器)。控制器通过Pod Template信息来创建Pod。 3 资源限制LimitRange 场景eg假设一个java应用初始内存是2G最大内存5G假设整个应用有16G超过5G的时候就进行限制这个就是一个内存限制的策略。 可以对集群内Request最少用多少资源和Limits最大用多少资源的配置做一个全局的统一的限制相当于批量设置了某一个范围内某个命名空间的Pod的资源使用限制。 2.1.2 集群级 集群级别的资源作用于集群之上集群下的所有资源都可以共享使用 1 命名空间Namespace 命名空间的资源本身就属于K8s的资源只不过多了一个逻辑意义上独立的概念。 2 Node资源 不像其他的资源如Pod和Namespace),Node本质上不是Kubernetes来创建的Kubemnetes只是管理Node上的资源虽然可以通过Manifest创建一个Node对象但Kubernetes也只是去检查是否真的是有这么一个Node如果检查失败也不会往上调度Pod. 3 ClusterRole 这个角色是属于集群的角色他是用在集群之上用于对集群的权限管理。 4 ClusterRoleBinding 上面的ClusterRole只是应用于一个权限组但是还没真正用到那个用户身上。用来把权限和那个资源进行绑定。只能绑定到集群级别的资源对象上不能给namespace的资源对象上绑定。 2.1.3 命名空间级资源 作用在命名空间之上通常只能作用于命名空间范围内使用命名空间A不可以访问命名空间B的资源可以理解为逻辑意义上的集群一个k8s集群可以有多个命名空间。 1 工作负载 1.1 什么是POD Pod(容器组)是Kubemetes中最小的可部署单元一个Pod(容器组)包含了一个应用程序容器某些情况下是多个容器)、存储资源、一个维一的网烙IP地址、以及一些确定容器该如何运行的选项。Pod容器组代表了Kubernetes中一个独立的应用程序运行实例该实例可能由单个容器或者几个紧耦合在一起的容器组成。Docker是Kubernetes Pod中使用最广泛的容器引擎Kubernetes Pod同时也支持其他类型的容器引擎。Kubernetes集群中Pod存在如下两种使用途径 一个Pod中只运行一个容器.one-container-per-pod是Kubemetes中最常见的使用式。此时您可以认为Pod容器组是该容器的wrapperKubernetes通过Pod管理容器。而不是直接管理容器。一个Pod中运行多个需要互相协作的容器。您可以将多个紧耦合、共享资源目始终在一起运行的容器编排在同一个Pod中。 1.2 Pod 副本replicas 先引入副本的概念一一个Pod可以被复制成多份每一份可被称之为一个“副本这些副本除了一些描述性的信息(Pod的名字、uuid等)不一样以外其它信息都是一样的。如Pod内部的容器、容器数量、容器里面运行的应用等的这些信总都是一样的。这些副本提供问样的功能。Pod的控制器逼常包含一个名为replicas’的属性“replicas属性则指定了特定Pod的副本的数量当当前集群中该Pod的数量与该属性指定的值不一致时。k85会采取一些策路去使得当前状态满足配置的要求。 1.3 Pod 的控制器的类型 1.3.1 适用于无状态的服务 1【了解】ReplicationControllerRC帮助我们动态更新pod的副本数 Replication Controller简称RC,RC是Kubernetes系统中的接心概念之一简单来说。RC可以保证在任意时间运行Pod的副本款量能够保证Pod总是可用的。如果实际Pod数量比指定的多那就结束掉多余的。如果实示数量比指定的数量少则新启动一些Pod当Pod失败、被删除或者挂掉后RC都会去自动创建新的Pod来保证利本数量所以即使只有一个Pod,我们也应该用RC来管理我们的Pod,可以说通过ReplicationController控制器Kubernetes实现了Pod的高可用性。 2 【了解】ReplicaSetRS帮助我们动态更新pod的副本数可以通过selector来选择对那些pod生效 RC(ReplicationController)主要的作用就是用来确保容器应用的副本数始终保特在用户定义的副本数。即如果有容器异常退出会自动创建新的Pod来替代而如果异常多出来的容器也会自动回收已经成为过去时在v1.11版本废弃。 - Kubernetes官方建议使用RS(ReplicaSet)替代RC(ReplicationController)进行部署RS跟RC没有本质的不同只是名字不一样并且RS支持集合式的selector。 3 【重点】Deployment增对RS的更高层次封装提供了更丰富的部署相关的功能 自动创建ReplicaSet自动创建Pod。 可以滚动升级和回滚eg代码更新后回自动升级创建新的pod新的pod可以用在把旧的pod删除。 可以平滑扩容和缩容 暂停和恢复Deployment 1.3.2 适用有状态的服务 StatefulSet StatefulSet专门对有状态服务进行部署的一个控制器 StatefulSet中每个Pod的DNS格式为 statefulSetName{O…N-1).serviceName.namespace.svc.cluster.local serviceName为Headless Service的名字 0…N-1为Pod所在的序号从0开始到N-1 statefulSetName为StatefulSet的名字 namespace为服务所在的namespace,Headless Service和StatefulSet必须在相同的namespace .cluster.local为Cluster Domain 场景假设我们的集群是一个redis集群redis集群主从结构官方推荐的方案是大于等于3个数量并且一定是一个单数涉及到redis的选举机制如果更新redis这个pod的时候会出现以下问题 1、容器的网络还在不在原来的网络会没有导致我们的后端服务去找这个redis的时候就不知道一什么ip地址去找了我们不可以把这个redis的服务ip写到后端服务上网络变更那后端服务找不到这个redis了 2、数据问题如何解决Pod删除掉后数据也同样会被删除就算新建的pod可以访问但是数据不共享。 3、顺序性问题master节点一般都是可读可写slave节点是可读的那我们在创建pod的时候就会涉及到一个顺序性问题 如上3个问题就需要用到StatefulSet可以保证网络、数据、顺序性问题都可以解决。通过Headless service和volumeClaimTemplate实现。 1.3.3 守护进程 DaemonSet DaemonSet保证在每个Node上都运行一个容器到本常用来部署一些集群的日志、监控或者其他系统管理应用。典型的应用包括 日志收集比如fluentd,logstash等系统监控比如Prometheus Node ExportercollectdNew Relic agentGanglia gmond 等系统程序比如kube-proxykube-dnsglusterdceph等 场景每个node可以添加一个type的标签如果ds的pod匹配到这个标签就会在这个node上创建这样一个pod 1.3.4 任务/定时任务 Job/CronJob Job一次性任务运行完成后直接销毁CronJob在Job的基础上增加了定时的功能 2 服务发现 服务发现分为service和ingress两个服务。 原先的访问模式 1、用户访问域名可以通过F5、LVS、阿里云slb负载均衡访问到后端服务后端服务通过网关可以发现每个微服务这种流量称为”南北流量“。 2、后端的微服务直线的相互访问称之为”东西流量“。 使用k8s集群后用户访问域名访问k8s集群通过域名访问集群内的ingress服务通过service访问到后端服务。 后端服务之间的访问是是通过service服务来进行访问。 3 配置与存储 Volume数据卷共享Pod中容器使用的数据。用来放持久化的数据比如数据库库数据。可以和docker中的数据卷进行比对学习CSIContainer Storage Interface是由来自Kubernetes、Mesos、Docker等社区成员联合制定的一个行业标准接口规范旨在将任意存储系统暴露给容器化应用程序。CSI规范定义了存储提供商实现CSI兼容的Volume Plugin的最小操作集和部署建议。CSl规范的主要焦点是声明Volume Plugin必须实现的接口。 4 特殊类型配置 ConfigMap可以通过key-value这样的信息构建一个ConfigMap让容器或者pod里面可以读取到这个ConfigMap的数据。可以把容器内的数据暴露出来或者可以这么说原先容器内的运行的后端服务有些数据比如数据库信息如果更新需要重新打包jar包然后更新pod现在可以通过把这个信息放置到ConfigMap如果要修改信息直接修改ConfigMap这个就是ConfigMap的作用。SecretSecret解决了密码、token、密钥等敏感数据的配置问题而不需要把这些敢感数据暴露到镜像或者Pod Spec中。Secret可以以Volume或者环境变量的方式使用Secret有三种类型 Service Account:用来访问Kubemetes API由Kubernetes自动创建并目会自动挂载到Pod的/run/secrets/kubernetes.io/serviceaccount目录中Opaquet base64编码格式的Secret用来存储密码、密钥等kubernetes.io/dockerconfigjson用来存储私有docker registry的认证信息。 DownwardAPIDownwardAPI这个模式和其他模式不一样的地方在于它不是为了存放容器的数据也不是用来进行容器和宿主机的数据交换的而是让pod里的容器能够直接获取到这个pod对象本身的一些信息。 DownwardAPI提供了两种方式用于将pod的信息注入到容器内部 环境变量用于单个变量可以将p0d信息和容器信息直接注入容器内部volume挂载将pod信息生成为文件直接挂载到容器内部中去 5 其他 Role是去定义一组权限定义我们命名空间级别的权限和上文的ClusterRole不是一个级别的权限。Role是一组权限的集合例如Role可以包含列出Pod权限及列出Deployment权限Role用于给某个Namespace中的资源进行鉴权。RoleBinding可以作用于Role和ClusterRole用RoleBinding就只能绑定到命名空间内。 2.2资源清单 必须存在的属性 参数名字段类型说明apiVersionString这里指的是K8s API的版本目前基本上是v1可以用kubectl api-version命令查询kindString这里指的是yaml文件定义的资源类型和角色比如podmetadataObject元数据对象固定值就写 metadatametadata.nameString元数据对象的名字这里由我们编写比如命令Pod的名字metadata.namespaceString元数据对象的命名空间由我们自身定义specObject详细定义对象固定值就写 Specspec.containers[]list这里是Spec对象的容器列表定义是个列表spec.containers[].nameString这里定义容器的名字spec.containers[].imageString这里定义要用到的镜像名称 主要对象 参数名字段类型说明spec.containers[].nameString定义容器的名字spec.containers[].imageString定义要用到的镜像名称spec.containers[].imagePullRolicyString定义镜像拉取策略有Always、Never、IfNotPresent三个选项 Always每次都尝试重新拉取镜像默认Always Never仅使用本地镜像 IfNotPresent如果本地有镜像就使用本地就像如果没有就拉取在线镜像spec.containers[].command[]List指定容器启动命令因为是数组可以指定多个不指定则使用镜像打包时使用的启动命令。spec.containers[].args[]List指定容器启动命令参数因为是数组可以指定多个。spec.containers[].workingDirString指定容器的工作目录。spec.containers[].volumeMounts[]List指定容器内部的存储卷配置spec.containers[].volumeMounts[].nameString指定可以被容器挂载的存储卷的名称spec.containers[].volumeMounts[].mountPathString指定可以被容器挂载的存储卷的路径spec.containers[].volumeMounts[].readOnlyString设置存储卷路径的读写模式true或者false默认为读写模式spec.containers[].ports[]List指定容器需要用到的端口列表spec.containers[].ports[].nameString指定端口名称spec.containers[].containerPortString指定容器需要监听的端口号spec.containers[].ports[].hostPortString指定容器所在主机需要监听的端口号默认跟上面containerPort相同注意设置了hostPort同一台主机无法启动该容器的相同副本因为主机的端口号不能相同这样会冲突spec.containers[].ports[].protocolString指定端口协议支持TCP和UDP默认为TCPspec.containers[].env[]List指定容器运行前需设置的环境变量列表 额外的参数项 参数名字段类型说明spec.restartPolicyString定义Pod的重启策略可选值为Always、OnFailure默认值为Always1.Alwayspod一旦终止运行则无论容器是如何终止的kubelet服务都将重启它。2.OnFailure只有pod以非零退出码终止时kubelet才会重启该容器如果容器正常退出(退出码为0)则kubelet将不会重启它3.Neverpod终止后kubelet将退出码报告给master不会重启pod。spec.nodeSelectorObject定义Node的Label过滤标签以key: value格式指定spec.imagePullSecretsObject定义pull镜像时使用sercet名称以name: secretkey格式指定spec.hostNetworkBoolean定义是否使用主机网络模式默认值false设置true表示使用宿主机网络不使用docker网桥同时设置了true将无法再同一台宿主机上启动第二个副本。 3、对象规约和状态 规约Spec spec”是规约、规格的意思spec是必需的它描述了对象的期望状态(Desired State)一一希望对象所具有的特征.当创建Kubernetes对象时必须提供对象的规约用来描述该对象的期望状态以及关于对象的一些基本信息例如名称。 状态Status 表示对象的实际状态该属性由k8s自己谁护k8s会通过一系列的控制器对对应对象进行管理让对象尽可能的让实示状态与期望状态重合。
http://www.dnsts.com.cn/news/67140.html

相关文章:

  • 建设 政务数据共享网站国土局网站建设方案
  • 微信分销网站开发企业查询官网免费查询一下
  • 网站建设原因分析温江区规划建设局网站
  • 嘉定专业做网站wordpress 默认搜索引擎
  • 天台县城市建设规划局网站限时抢购网站源码
  • 谷歌账号注册网站打不开企业官网模板下载 简洁现代
  • 福州专业做网站的公司哪家好杭州营销
  • 长沙网站推广合作企业网站首页设计欣赏
  • 网站 建设意见台州本地做网站的
  • 枣庄高端网站建设广州地铁集团有限公司
  • 关于建设网站的报告书网页设计与制作基础教程答案
  • 产品展示网站方案微信二维码制作小程序
  • 母婴网站源码php几个有效网址谢谢
  • 石家庄网站建设蓝龙中国域名备案查询系统
  • 相亲网站绑定微信怎么做wordpress淘宝客防被k
  • 学院评估 网站建设整改建网站价格多少
  • 一个人可以做几个网站负责人站酷设计网站官网入
  • 商务网站制作公司昆明企业自助建站系统
  • 盛泽做网站莱芜二中网站
  • 专业图书商城网站建设网站未经授权推广别人的产品
  • 网站费用福州网站建设流程
  • 南昌网站建设哪家强无法升级wordpress
  • 教学资源网站建设设计wordpress写了文章打不开
  • 广点通广告投放平台登录网络优化网站
  • 济南好的网站建设公司哪家好wordpress导出html代码
  • 安全生产规章制度建筑公司网站电子商务公司取什么名字好
  • 网页设置安全站点wordpress love
  • 网站开发技术文档wordpress有没有linux
  • 网站做编辑赚钱百度流量推广项目
  • 做网站选什么配置电脑乐陵森