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

苏州产品网站建设重庆模板建站软件

苏州产品网站建设,重庆模板建站软件,浙江建设职业技术学院尔雅网站,wordpress 无法编辑文章一#xff0c;NodeSelector定向调度 在 Kubernetes 中#xff0c;可以使用 NodeSelector 字段来指定 Pod 调度到哪些节点上运行。NodeSelector 是一个键值对的 map#xff0c;其中键是节点的标签名#xff0c;值是标签值。具体步骤如下#xff1a; 在节点上添加标签 首…一NodeSelector定向调度 在 Kubernetes 中可以使用 NodeSelector 字段来指定 Pod 调度到哪些节点上运行。NodeSelector 是一个键值对的 map其中键是节点的标签名值是标签值。具体步骤如下 在节点上添加标签 首先需要在节点上添加相应的标签例如 kubectl label nodes node1 appexample-app 编写 Pod 的 YAML 文件 在编写 Pod 的 YAML 文件时需要添加 nodeSelector 字段来指定 Pod 要调度到哪些节点上运行。 apiVersion: v1 kind: Pod metadata:name: example-pod spec:containers:- name: example-containerimage: your_image_namenodeSelector:app: example-app # 指定要调度到带有 appexample-app 标签的节点上运行 使用 kubectl apply 命令部署 Pod kubectl apply -f your_pod_yaml_file.yaml 查看 Pod 是否部署成功 kubectl get pods example-pod -o wide # -o wide 可以查看分配给该 pod 的节点名称和 IP 地址等信息。 以上就是使用 golang NodeSelector 定向调度的步骤。 二Node亲和性调度NodeAffinity 在 Kubernetes 中可以使用 NodeAffinity 字段来指定 Pod 的亲和性调度规则NodeAffinity 是一个结构体其中包含两个属性 requiredDuringSchedulingIgnoredDuringExecution: 在调度阶段必须满足的亲和性规则。preferredDuringSchedulingIgnoredDuringExecution: 优先级较低的亲和性规则。 下面是一个使用 golang NodeAffinity 进行亲和性调度的例子 import (k8s.io/api/core/v1 )// 创建 PodSpec 对象 podSpec : v1.PodSpec{...Affinity: v1.Affinity{NodeAffinity: v1.NodeAffinity{RequiredDuringSchedulingIgnoredDuringExecution: v1.NodeSelector{ // 必须满足以下标签要求NodeSelectorTerms: []v1.NodeSelectorTerm{{MatchExpressions: []v1.NodeSelectorRequirement{{Key: zone,Operator: v1.NodeSelectorOpIn,Values: []string{cn-east-01, cn-east-02},},},},},},PreferredDuringSchedulingIgnoredDuringExecution: nil, // 暂不需要优先级较低的亲和性规则},}, }// 创建 Pod 对象 pod : v1.Pod{...Spec: *podSpec, } 在上述代码中我们通过定义 RequiredDuringSchedulingIgnoredDuringExecution 属性并设置 NodeSelectorTerms 和 MatchExpressions 来指定 Pod 调度到哪些节点上运行。这里我们要求节点的 zone 标签的值必须是 cn-east-01 或者 cn-east-02。 需要注意的是如果指定了多个亲和性规则则每个规则都必须满足才能将 Pod 调度到对应的节点上。 除了使用 golang 代码进行调度之外也可以在 Pod 的 YAML 文件中添加相应的 NodeAffinity 字段来指定 Pod 的亲和性调度规则。 三Pod亲和度与互斥调度PodAffinity 在 Kubernetes 中Pod 的亲和度与互斥调度可以通过 PodAffinity 和 PodAntiAffinity 字段进行设置。其中PodAffinity 用于指定必须共存的 Pod而 PodAntiAffinity 用于指定不得共存的 Pod。 这两个字段都包含了一个 requiredDuringSchedulingIgnoredDuringExecution 属性和一个 preferredDuringSchedulingIgnoredDuringExecution 属性 requiredDuringSchedulingIgnoredDuringExecution: 在调度阶段必须满足的规则。preferredDuringSchedulingIgnoredDuringExecution: 优先级较低的规则。 下面是一个使用 golang 进行 Pod 亲和度与互斥调度的例子 import (k8s.io/api/core/v1 )// 创建 PodSpec 对象 podSpec : v1.PodSpec{...Affinity: v1.Affinity{PodAffinity: v1.PodAffinity{ // 设置必须共存规则RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{{LabelSelector: metav1.LabelSelector{MatchLabels: map[string]string{app: nginx},},Namespaces: []string{default},TopologyKey: kubernetes.io/hostname,},},PreferredDuringSchedulingIgnoredDuringExecution: nil, // 暂不需要优先级较低的规则},PodAntiAffinity: v1.PodAntiAffinity{ // 设置不得共存规则RequiredDuringSchedulingIgnoredDuringExecution: []v1.PodAffinityTerm{{LabelSelector: metav1.LabelSelector{MatchLabels: map[string]string{app: nginx},},Namespaces: []string{default},TopologyKey: kubernetes.io/hostname,},},PreferredDuringSchedulingIgnoredDuringExecution: nil, // 暂不需要优先级较低的规则},}, }// 创建 Pod 对象 pod : v1.Pod{...Spec: *podSpec, } 在上述代码中我们通过定义 PodAffinity 和 PodAntiAffinity 属性并设置 requiredDuringSchedulingIgnoredDuringExecution 字段和相应的规则来指定 Pod 的亲和度与互斥调度。这里我们要求必须共存的 Pod 必须是标签为 appnginx 的 Pod而不得共存的 Pod 也必须是标签为 appnginx 的 Pod。 需要注意的是在设置亲和度与互斥调度时可以通过多种方式指定匹配规则如使用 label selector、namespace 等。在实际使用中请根据实际情况进行选择。 四pod Taints 和Tolerations 在Kubernetes集群中Taints和Tolerations是用于控制Pod是否可以被调度到某个Node上的机制。 TaintsTaints是标记Node的一种方式通过将一个或多个Taints添加到Node上可以限制哪些Pod能够调度到该节点。例如如果您希望禁止在生产环境中运行的应用程序部署到具有特定硬件或软件配置的节点上则可以使用Taint来实现这一点。TolerationsTolerations是告诉Kubernetes哪些Pod可以调度到具有特定Taints的Node上的一种方法。如果您想要将特定应用程序部署到具有某些硬件或软件配置的节点上则必须使用Tolerations来实现这一点。 例如假设我们有三个节点node1、node2和node3。我们希望防止任何Pod被调度到node1上并且只允许具有“gputrue”标签的Pod在node2和node3上进行调度。我们可以执行以下操作 在 node1 上添加 taint kubectl taint nodes node1 keyvalue:NoSchedule 在具有 toleration 的 Pod 上声明 toleration apiVersion: v1 kind: Pod metadata:name: gpu-pod spec:containers:- name: gpu-containerimage: gpu-image:v1.0tolerations:- key: gpuoperator: Equalvalue: trueeffect: NoSchedule 这样只有具有“gputrue”标签的Pod才能被调度到node2和node3上。而在node1上添加了taint因此不会有任何Pod被调度到该节点上。 五pod Priority 优先级调度 在 Kubernetes 集群中Pod 被分配给 Node 运行。而 Pod 之间的优先级是由 Kubernetes 的调度器Scheduler来控制的。Pod 的优先级越高则它被分配到节点上的机会就越大。 为了设置 Pod 的优先级可以使用 PriorityClass 对象。PriorityClass 是一个资源对象用于定义 Pod 的优先级和访问策略。 下面是一个示例 PriorityClass apiVersion: scheduling.k8s.io/v1 kind: PriorityClass metadata:name: high-priority value: 1000000 globalDefault: false description: This priority class should be used for important pods only. 在这个示例中我们创建了一个名为 high-priority 的 PriorityClass并将其值设置为 1000000。这意味着当一个 Pod 使用此 PriorityClass 来定义它的优先级时它将比其他具有较低值的 PriorityClass 更容易被分配到节点上运行。 要使用这个 PriorityClass请在 Pod 定义文件中添加如下字段 apiVersion: v1 kind: Pod metadata:name: my-pod spec:priorityClassName: high-prioritycontainers:- name: my-containerimage: nginx 注意在设置完 priorityClassName 字段后请确保所有相关的 Node 上都安装了 kube-scheduler 组件并且该组件已经启动。这样才能使调度器根据定义的优先级来调度 Pod 的运行。
http://www.tj-hxxt.cn/news/222689.html

相关文章:

  • 建网站一条龙视频交易类网页
  • 做网站的费用如何写分录网络营销是什么模式
  • 做网站最便宜优质手机网站建设推荐
  • 江苏有什么网站找工程建设人员wordpress qq空间主题
  • 江苏威达建设有限公司网站甜品店网站开发背景
  • 厦门网站关键词优化电商公司网站
  • 做网站用哪种语言怎么做企业曝光引流网站
  • 摄影网站建设公司如何做网站热力图
  • wordpress 自定义文章类型潍坊市网站优化
  • 北京网站设计优刻上海十大代运营公司
  • 欢迎回来请牢记网站域名百度搜索广告价格
  • 聚美优品网站建设分析外贸流程及详细步骤
  • 沈阳自助模板建站wordpress newsletter 插件
  • 一起做网站逛市场网站优化如何提高排名
  • 网站建设朱宁新零售型网站开发
  • 学校网站建设与管理办法苏州高端网站建设机构
  • 厦门思明区建设局网站wordpress __
  • 网站建设公司推荐5788广州网站推广技巧
  • 网站直播间怎么做购物网站开发django
  • 温州免费个人网站制作公司网站搭建哪家比较好
  • 设计师找灵感的网站带前台的wordpress模板下载
  • 正规网站建设中小企业网站设计总结
  • wordpress建站 产品详情页苏州注册公司需要什么条件
  • 网站创意模板大连做网站大公司
  • 百度联盟 网站备案贵阳网站方舟网络最好
  • 如何创建自己网站升降机网站怎么做
  • 建设网站需要花费什么费用高性能网站建设指南 书
  • 汝州网站建设分切机网站建设
  • 上海网站建设 销售网站上传到空间
  • 郴州网站建设维护开关网站建设