このページは、お客様の言語ではご利用いただけません。Huawei Cloudは、より多くの言語バージョンを追加するために懸命に取り組んでいます。ご協力ありがとうございました。
- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
-
User Guide
- Before You Start
- Permissions Management
-
Environment Management
- Environment Overview
- Creating an Environment
- Managing CCE Resources
- Managing Basic Resources
- Removing Managed Basic Resources
- Managing VM Agents
- Modifying an Environment
- Deleting an Environment
- Application Management
-
Component Management
- Component Overview
- Creating and Deploying a Component
- Viewing Component Details
- Managing Component Labels
- Changing the Component Description
- Managing Component Instances
- Upgrading a Single Component
- Upgrading Components in Batches
- Cloning Components in Batches
- Synchronizing Component Configurations in Batches
- Rolling Back a Component
- Redeploying a Component
- Configuring the Component Access Mode
- Changing the Component Access Domain Name
- Configuring a Scaling Policy of a Component Instance
- Component O&M
- Viewing the Component Running Environment
- Starting and Stopping a Component Instance
- Manually Synchronizing the Component Status
- Managing Cloud Service Settings of a Container-Deployed Component
- Managing Container Settings of a Container-Deployed Component
- Managing Application Settings of a Container-Deployed Component
- Managing Advanced Settings of a Container-Deployed Component
- Managing VM-Deployed Component Configurations
- Deleting a Component
- Configuration Management
- Release Management (OBT)
- Tech Stack Management
- Deployment Source Management
- Continuous Delivery
-
Microservice Engine
- Cloud Service Engine Overview
- Creating a Microservice Engine
-
Managing Microservice Engines
- Viewing Microservice Engine Information
- Obtaining the Service Center Address of a Microservice Engine
- Obtaining the Configuration Center Address of a Microservice Engine
- Viewing the Instance Quota of a Microservice Engine
- Viewing the Configuration Item Quota of a Microservice Engine
- Configuring Backup and Restoration of a Microservice Engine
- Managing Public Network Access for a Microservice Engine
- Viewing Microservice Engine Operation Logs
- Upgrading a Microservice Engine Version
- Deleting a Microservice Engine
- Managing Security Authentication for a Microservice Engine
- Using Microservice Engines
- Key Operations Recorded by CTS
- Viewing Monitoring Metrics and Alarms
-
Developer Guide
-
Microservice Developer Guide
- Overview
- Developing Microservice Applications
- Preparing the Environment
- Connecting Microservice Applications
- Deploying Microservice Applications
- Using Microservice Engine Functions
- Appendix
-
Microservice Developer Guide
-
Best Practices
- ServiceStage Best Practices
- Hosting and Managing a Weather Forecast Microservice Application on ServiceStage
- Enabling Security Authentication for an Exclusive ServiceComb Engine
- Connecting ServiceComb Engine Dashboard Data to AOM through ServiceStage
- Migrating the Registered Microservice Engine Using ServiceStage Without Code Modification
- Hosting a Spring Boot Application on ServiceStage
- Using GitLab to Interconnect with Jenkins to Automatically Build and Upgrade Components Deployed on ServiceStage
- Using ServiceStage to Migrate Components Across AZs and Upgrade Components in Sequence Based on Release Management
-
API Reference
- Before You Start
- API Overview
- Calling APIs
-
Application Management V3 APIs
-
Environment
- Creating an Environment
- Obtaining All Environments
- Deleting an Environment Based on the Environment ID
- Modifying an Environment Based on the Environment ID
- Obtaining Environment Details Based on the Environment ID
- Modifying an Environment Resource Based on the Environment ID
- Enabling an Environment Resource Based on the Environment ID
- Querying a Managed Resource Based on the Environment ID
- Querying a Created Resource Based on the Environment ID
- Adding an Environment Resource Based on the Environment ID
- Updating an Environment Resource Based on the Environment ID
- Deleting an Environment Resource Based on the Environment ID
- Querying Resource Enabling Records Based on the Environment ID
- Querying the Details of a Resource Enabling Record Based on the Environment ID
- Querying the Events of a Resource Enabling Record Based on the Environment ID
-
Application
- Creating an Application
- Obtaining All Applications
- Modifying Application Information Based on the Application ID
- Deleting an Application Based on the Application ID
- Obtaining Application Details Based on the Application ID
- Obtaining Application Configurations Based on the Application ID
- Modifying Application Configurations Based on the Application ID
- Deleting Application Configurations Based on the Application ID
-
Component
- Creating an Application Component
- Importing a CCE Workload to an Application to Create a Component
- Obtaining All Components of an Application
- Obtaining All Components
- Modifying Component Information Based on the Component ID
- Deleting a Component Based on the Component ID
- Obtaining Component Information Based on the Component ID
- Delivering a Component Task Based on the Component ID
- Obtaining Records Based on the Component ID
- Refreshing Component Information Based on the Component ID
- Obtaining Component Configuration Information
-
Technology Stack
- Querying a Runtime System Stack
- Querying a Built-in Image
- Creating a Technology Stack
- Querying a Technology Stack Based on the Technology Stack ID
- Modifying a Technology Stack Based on the Technology Stack ID
- Deleting a Technology Stack Based on the Technology Stack ID
- Releasing or Canceling the Release of a Technology Stack
-
Configuration Management
- Creating a Configuration Group
- Obtaining a Configuration Group
- Creating a Configuration File
- Importing a Configuration File
- Obtaining Configuration File Information
- Obtaining Configuration File Information Based on the Configuration File ID
- Deleting a Configuration File Based on the Configuration File ID
- Modifying a Configuration File Based on the Configuration File ID
- Obtaining the Configuration File Record Based on the Configuration File ID
- Obtaining the Configuration File Record Information Based on the Record ID
- Deleting a Configuration File Record Based on the Record ID
- Obtaining Configuration Group Details Based on the Group ID
- Deleting a Configuration Group Based on the Group ID
- Deployment Job
- Add-on Management
-
Environment
-
Git Repository Access APIs
- Obtaining a Git Repository Authorization List
- Obtaining an Authorization Redirection URL
- Creating OAuth Authorization
- Creating Private Token Authorization
- Creating Password Authorization
- Deleting Repository Authorization
- Obtaining a Repository Namespace
- Obtaining Repository Information Based on the Clone URL
- Obtaining All Projects in a Namespace
- Creating a Software Repository Project
- Obtaining a Project Branch
- Obtaining a Project Tag
- Creating a Project Tag
- Deleting a Project Tag
- Obtaining Project Commits
- Obtaining a Project Hook
- Creating a Project Hook
- Deleting a Project Hook
- Obtaining a Repository File Directory
- Obtaining Repository File Contents
- Creating a Repository File
- Modifying Repository File Contents
- Deleting a Repository File
-
CSE APIs
- API Calling
- Dynamic Configuration
-
Engine Management
- Querying Flavors Supported by an Exclusive Microservice Engine
- Querying the Exclusive Microservice Engine List
- Creating an Exclusive Microservice Engine
- Querying Details About an Exclusive Microservice Engine
- Deleting an Exclusive Microservice Engine
- Querying Details About an Exclusive Microservice Engine Job
-
ServiceComb APIs
- API Calling
- Authentication
-
Microservice
- Querying Information About a Microservice
- Deleting Definition Information About a Microservice
- Querying Information About All Microservices
- Creating Static Information for a Microservice
- Deleting Static Information About Microservices in Batches
- Modifying Extended Attributes of a Microservice
- Querying the Unique Service or Schema ID of a Microservice
- Schema
-
Microservice Instance
- Registering a Microservice Instance
- Querying a Microservice Instance Based on service_id
- Deregistering a Microservice Instance
- Querying Details About a Microservice Instance
- Modifying the Extended Information About a Microservice Instance
- Modifying Status of a Microservice Instance
- Sending Heartbeat Information
- Querying a Microservice Instance by Filter Criteria
- Querying Microservice Instances in Batches
- Dependency
- Configuration Management
- Examples
- Data Structure
- Permissions and Supported Actions
- Appendix
-
Historical APIs
-
Application Management V2 APIs
- Meta
- Environment
-
Application
- Creating an Application
- Obtaining All Applications
- Modifying Application Information
- Deleting an Application Based on the Application ID
- Obtaining Application Details Based on the Application ID
- Modifying Application Configurations
- Deleting Application Configurations
- Obtaining Application Configurations
- Component
- Instance
- Deployment Jobs
- Build APIs
- Querying Configurations
- Creating a Dependency Between Services
- Reporting Service Metrics
-
Application Management V2 APIs
- SDK Reference
-
FAQs
- Application Development FAQs
- Environment Management
-
Application Management
- How Do I View the Causes of Application Component Deployment Failures?
- What If an Instance Is Being Created for a Long Time?
- How Do I Solve the Dependency Problem When a Node Program Runs in Docker?
- How Do I Customize a Tomcat Context Path?
- How Do I Use a Fixed Application Component IP?
- What Should I Do If an ECS Error Occurs When I Create and Deploy a Component on a VM?
- What Should I Do If I Cannot Access the Port When I Create and Deploy a Component on a VM?
- Which Directories Do I Use to Write Files for VM-Deployed Application Components?
- What Should I Do If "host status is not active" Is Reported When a VM-Deployed Component Fails to Be Deleted?
- How Do I Use the ServiceStage Source Code Deployment Function?
- What Should I Do If Components Fail to Be Upgraded in ServiceStage Dark Launch?
- How Do I Mount Items to Modify the Configuration File of a Container-based Component?
- What Should I Do If the Application Name Displayed on Microservice Governance Is Different from That Displayed on ServiceStage Application Management After an Application Component Is Connected to a Microservice Engine?
-
Continuous Delivery
- How Does ServiceStage Manage Code on IDEA?
- How Do I Add the Build Server Address to the GitLab Server Security Group?
- How Do I Add the Build Server Address to the Maven Server Security Group?
- What Do I Do If ServiceStage Failed to Build a Job?
- How Can I Access Dependent Services Through VPC Endpoints When Building Images?
- Software Center
-
Infrastructure
- Are Existing Programs Affected If I Unsubscribe Servers?
- How Can I Access Dependent Services Through VPC Endpoints When Installing VM Agents?
- What Should I Do If I Don't See the VM Agent After Installing It?
- What Should I Do If the VM Agent Is Offline?
- What Should I Do If the Service Registration Fails After IPv6 Is Enabled for the Exclusive Microservice Engine with Security Authentication Enabled?
- What Should I Do If a Non-Microservice Engine Error Occurs When I Operate an Exclusive Microservice Engine?
- How Do I Switch a Cluster Used for Component Building from a Shared Cluster to a Private One?
- What Should I Do If the Access Address Fails to Be Processed During CSE Creation?
- What Do I Need to Know Before Upgrading an Exclusive Microservice Engine?
- Obtain Configurations Failed
- Application O&M
-
Application Development
- What Are the Differences Between the Microservice and Common Application?
- How Do I Handle a Microservice Registry Failure (Java Chassis)?
- How Do I Troubleshoot Microservices Deployed on the Cloud?
- Should I Use the SDK or ServiceMesh to Build a Microservice?
- What If I Fail to Obtain a Dependency?
- What Is Service Name Duplication Check?
- Why Do I Have to Define Service Contracts?
- Why Are Microservice Development Framework and Netty Versions Unmatched?
- How Do I Package a Java or Tomcat Application?
-
More Documents
-
User Guide (ME-Abu Dhabi Region)
- Service Overview
- Getting Started
-
User Guide
- Overview
- Permissions Management
- Application Management
- Environment Management
-
Application O&M
- Maintaining Application Component Instances
- Adding Labels for Application Component Instances
- Configuring Domain Name Mappings
- Configuring Alarm Thresholds for Resource Monitoring
- Configuring a Scaling Policy of an Application Component Instance
- Configuring a Scheduling Policy of an Application Component Instance
- Configuring an Upgrade Policy of an Application Component Instance
- Configuring Custom Monitoring of an Application Component
- Configuring a Log Policy of an Application
- Configuring Health Check
- Continuous Delivery
- Software Center
-
Infrastructure
-
Cloud Service Engine (CSE)
- Overview
- Creating an Exclusive Microservice Engine
-
Microservice Engine Management
- Configuring Backup and Restoration of an Exclusive Microservice Engine
- Configuring Public Network Access of an Exclusive Microservice Engine
- Viewing the Access Address of a Microservice Engine
- Viewing Operation Logs of an Exclusive Microservice Engine
- Upgrading an Exclusive Microservice Engine
- Deleting an Exclusive Microservice Engine
- Using the Microservice Dashboard
- Microservice Governance
- Configuring Microservices
- Maintaining Microservices
- Installing VM Agent on a Single VM
-
Cloud Service Engine (CSE)
-
FAQs
- How Do I Obtain an AK/SK Pair?
- What Should I Do If an Error Occurs When I Change the Name of a Project ?
- What Are the Differences Between Microservices and Common Applications?
- How Do I View the Causes for Application Component Deployment Failures?
- What Should I Do If a VM Component Fails to Be Deployed or Updated?
- What Are the Constraints on Packaging a Node.js 8 Software Package?
- What Should I Do If the Agent Fails to Be Installed?
- What Should I Do If the Agent Is Offline?
- Which Directories Do I Use to Write Files for VM-based Application Components?
- What Should I Do If "host status is not active" Is Reported When a VM-based Component Fails to Be Deleted?
- How Do I Handle Docker Application Dependency?
- What Should I Do If Docker Client Fails to Push Images?
- How Do I Obtain a Project Name?
- What Should I Do If the Service Registration Fails After IPv6 Is Enabled for the Exclusive Microservice Engine with Security Authentication Enabled?
- What Should I Do If a Non-Microservice Engine Error Occurs When I Operate an Exclusive Microservice Engine?
- What Should I Do I Get an ECS Error When Deploying VM-based Components?
- What Should I Do If an ECS Error Occurs During VM-based Component Deployment?
- What Should I Do If I Cannot Access the Port During VM-based Deployment?
- What Should I Do If the Microservice Application Name Is Different from the Component Application Name?
- Why the Microservice Name Is Different from the Component Name?
- Failed to Restore Data of an Exclusive Microservice Engine
-
API Reference (ME-Abu Dhabi Region)
- Before You Start
- API Overview
- Calling APIs
-
Application Management APIs
- Meta
- Environment
-
Application
- Creating an Application
- Obtaining All Applications
- Modifying Application Information
- Deleting an Application Based on the Application ID
- Obtaining Application Details Based on the Application ID
- Adding or Modifying Application Configurations
- Deleting Application Configurations
- Obtaining Application Configurations
- Component
-
Instance
- Creating an Application Component Instance
- Obtaining All Instances of a Component
- Querying the Operations Performed on a Component Instance
- Modifying an Application Component Instance
- Deleting an Application Component Instance
- Querying Instance Details Based on the Instance ID
- Obtaining Component Instance Snapshots
- Job
-
Git Repository Access APIs
- Obtaining a Git Repository Authorization List
- Obtaining an Authorization Redirection URL
- Creating OAuth Authorization
- Creating Private Token Authorization
- Creating Password Authorization
- Deleting Repository Authorization
- Obtaining a Repository Namespace
- Obtaining Repository Information Based on the Clone URL
- Obtaining All Projects in a Namespace
- Creating a Software Repository Project
- Obtaining a Project Branch
- Obtaining a Project Tag
- Creating a Project Tag
- Deleting a Project Tag
- Obtaining Project Commits
- Obtaining a Project Hook
- Creating a Project Hook
- Deleting a Project Hook
- Obtaining a Repository File Directory
- Obtaining Repository File Contents
- Creating a Repository File
- Modifying Repository File Contents
- Deleting a Repository File
-
CSE API
- API Calling
- Querying Static Information About a Microservice
- Querying Static Information About All Microservices
- Creating Static Information for a Microservice
- Modifying Static Information About a Microservice
- Querying a Microservice Schema
- Modifying a Microservice Schema
- Creating a Dependency Between Services
- Querying All Providers of a Microservice
- Querying the Unique Service or Schema ID of a Microservice
- Registering a Microservice Instance
- Querying All Instances of a Microservice Based on the Service ID
- Deregistering a Microservice Instance
- Querying Details About a Microservice Instance
- Modifying the Extended Information About a Microservice Instance
- Changing the Status of a Microservice Instance
- Sending Heartbeat Information
- Querying a Microservice Instance by Filter Criteria
- Querying Configurations
- Deleting Static Information About a Microservice
- Deleting Static Information About Microservices in Batches
- Querying Microservice Instances in Batches
- Querying All Schema Information About a Microservice
- Data Structure
- Permissions Policies and Supported Actions
- Appendix
-
User Guide (Kuala Lumpur Region)
- Service Overview
- Getting Started
- Overview
- Permissions Management
- Environment Management
- Application Management
-
Component Management
- Component Overview
- Creating and Deploying a Component
- Viewing Component Details
- Managing Component Labels
- Managing Component Instances
- Upgrading a Single Component
- Upgrading Components in Batches
- Rolling Back a Component
- Redeploying a Component
- Setting the Access Mode of Components
- Changing the Component Access Domain Name
- Configuring a Scaling Policy of a Component Instance
- Component O&M
- Viewing the Component Running Environment
- Component Instance Start and Stop
- Deleting a Component
-
Component Advanced Setting
- Setting Component Environment Variables
- Configuring the Lifecycle of a Component
- Configuring Data Storage
- Configuring a Distributed Cache
- Configuring Relational Databases
- Configuring a Scheduling Policy of a Component Instance
- Configuring a Log Policy of an Application
- Configuring Custom Monitoring of a Component
- Configuring Health Check
- Deployment Source Management
- Continuous Delivery
-
Microservice Engine
- Cloud Service Engine Overview
- Creating a Microservice Engine
-
Managing Microservice Engines
- Viewing Microservice Engine Information
- Obtaining the Service Center Address of a Microservice Engine
- Obtaining the Configuration Center Address of a Microservice Engine
- Viewing the Quota of Microservice Engine Instances
- Viewing the Quota of Microservice Engine Configuration Items
- Configuring Backup and Restoration of a Microservice Engine
- Managing Public Network Access for a Microservice Engine
- Viewing Microservice Engine Operation Logs
- Upgrading a Microservice Engine Version
- Deleting a Microservice Engine
- Managing Security Authentication of a Microservice Engine
- Using Microservice Engines
- Key Operations Recorded by CTS
- Viewing Monitoring Metrics and Alarms
-
FAQs
- Application Development FAQs
- Environment Management
-
Application Management
- How Do I View the Causes of Application Component Deployment Failures?
- What If an Instance Is Being Created for a Long Time?
- How Do I Solve the Dependency Problem When a Node Program Runs in Docker?
- How Do I Customize a Tomcat Context Path?
- How Do I Use a Fixed Application Component IP?
- How Do I Use the ServiceStage Source Code Deployment Function?
- Continuous Delivery
- Infrastructure
- Application O&M
-
API Reference (Kuala Lumpur Region)
- Before You Start
- API Overview
- Calling APIs
-
Application Management APIs
- Meta
- Environment
-
Application
- Creating an Application
- Obtaining All Applications
- Modifying Application Information
- Deleting an Application Based on the Application ID
- Obtaining Application Details Based on the Application ID
- Adding or Modifying Application Configurations
- Deleting Application Configurations
- Obtaining Application Configurations
- Component
-
Instance
- Creating an Application Component Instance
- Obtaining All Instances of a Component
- Querying the Operations Performed on a Component Instance
- Modifying an Application Component Instance
- Deleting an Application Component Instance
- Querying Instance Details Based on the Instance ID
- Obtaining Component Instance Snapshots
- Job
-
CSE API
- API Calling
- Querying Static Information About a Microservice
- Querying Static Information About All Microservices
- Creating Static Information for a Microservice
- Modifying Static Information About a Microservice
- Querying a Microservice Schema
- Modifying a Microservice Schema
- Creating a Dependency Between Services
- Querying All Providers of a Microservice
- Querying the Unique Service or Schema ID of a Microservice
- Registering a Microservice Instance
- Querying All Instances of a Microservice Based on the Service ID
- Deregistering a Microservice Instance
- Querying Details About a Microservice Instance
- Modifying the Extended Information About a Microservice Instance
- Changing the Status of a Microservice Instance
- Sending Heartbeat Information
- Querying a Microservice Instance by Filter Criteria
- Querying Configurations
- Deleting Static Information About a Microservice
- Deleting Static Information About Microservices in Batches
- Querying Microservice Instances in Batches
- Querying All Schema Information About a Microservice
- Data Structure
- Permissions Policies and Supported Actions
- Appendix
-
User Guide (ME-Abu Dhabi Region)
- Videos
- General Reference
Copied.
Configuring a Scheduling Policy of a Component Instance
Kubernetes supports node affinity and pod affinity/anti-affinity. You can configure custom rules for affinity and anti-affinity scheduling. For example, you can deploy frontend pods and backend pods together, deploy the same type of applications onto specific nodes, or deploy applications onto different nodes.
Kubernetes affinity applies to nodes and pods.
- Node affinity: Kubernetes can schedule workloads to affinity nodes based on their labels and label values. For example, some nodes support GPU computing, and node affinity scheduling can guarantee that high-performance computing pods run on these GPU nodes.
- Workload affinity/anti-affinity: Kubernetes offers workload affinity and anti-affinity scheduling, which allows flexible scheduling of new workloads on either related or unrelated nodes. This results in improved cluster performance and utilization. For example, frontend pods and backend pods that frequently communicate with each other can be preferentially scheduled to the same node or AZ to minimize network latency.
NOTE:
Workload affinity and anti-affinity require time for computing, which significantly slows down scheduling in large-scale clusters. Do not enable workload affinity and anti-affinity in a cluster that contains hundreds of nodes.
You can Configuring an Affinity Scheduling Policy of a Node and Configuring an Affinity/Anti-affinity Scheduling Policy of a Workload for container-deployed component instances when configuring Advanced Settings.
Configuring an Affinity Scheduling Policy of a Node
- Choose Advanced Settings > Scheduling Policy.
- Select a type of the node affinity scheduling rule.
- Mandatory: hard constraints that must be met. If multiple Mandatory rules are added, scheduling will be performed if one of the rules is met.
- Best effort: soft constraints that are met as much as possible. If multiple Best effort rules are added, scheduling will be performed if one or none of the rules is met.
- Click Add.
- Select Node for Object Type.
- Add objects as required.
- Add a policy: Click Add Policy and set the scheduling policy parameters by referring to the following table. You can customize a scheduling policy.
- Specify a node: Click Specify Node to quickly select the node to be scheduled. You do not need to manually enter the node label and label value. The kubernetes.io/hostname label is used when you specify a node.
- Specify an AZ: Click Specify AZ to quickly select the AZ to be scheduled. You do not need to manually enter the AZ label and label value. The failure-domain.beta.kubernetes.io/zone label is used when you specify an AZ.
Parameter
Description
Weight
This parameter is mandatory when the policy type selected in 2 is Best effort.
During scheduling, the scheduler adds the weight to the scores of other priority functions and schedules pods to the node with the largest total score.
The weight ranges from 1 to 100.
Label Name
When you click Add Policy to customize a scheduling policy, enter the node label to be matched.
Operators
- When you click Add Policy to customize a scheduling policy, set the following mapping relationships:
- In: The label of the affinity object is in the label value list (values field).
- NotIn: The label of the affinity object is not in the label value list (values field).
- Exists: The affinity object has a specified label name.
- DoesNotExist: The affinity object does not have a specified label name.
- Gt: The label value of the scheduling node exceeds what is listed (character string comparison).
- Lt: The label value of the scheduling node is under what is listed (character string comparison).
- When configuring a Specify Node or Specify AZ scheduling policy, set the following matching relationships:
- In: The label of the affinity object is in the label value list (values field).
- NotIn: The label of the affinity object is not in the label value list (values field).
Label Value
When you click Add Policy to customize a scheduling policy, enter the label value corresponding to the label name of the node based on the selected operator.
- If Operators is In or NotIn, enter characters for the label value. Separate multiple labels by semicolons (;). Example:
str1;str2;str3
- If Operators is Exists or DoesNotExist, the label value can be empty.
- If Operators is Gt or Lt, enter an integer for the label value, for example, 5 or -5.
- Click OK.
Configuring an Affinity/Anti-affinity Scheduling Policy of a Workload
- Choose Advanced Settings > Scheduling Policy.
- Select a type of the workload affinity or anti-affinity scheduling rule by referring to the following table.
Scheduling Policy
Rule Type
Description
Affinity
Mandatory
Hard constraints that must be met.
Filter pods that require affinity by label. If a pod that meets the filter criteria has been running on a node within the node range specified by the node label, the scheduler will forcibly schedule the created pod to this node range.
NOTE:
When multiple affinity policies are added, multiple labels are configured for filtering. A pod meets the filter criteria only when it has all the specified labels.
Best effort
Soft constraints that are met as much as possible.
Filter pods that require affinity by label. If a pod that meets the filter criteria has been running on a node within the node range specified by the node label, the scheduler will preferentially schedule the created pod to this node range.
NOTE:
When multiple affinity policies are added, multiple labels are configured for filtering. A pod meets the filter criteria only when it has all the specified labels.
Anti-affinity
Mandatory
Hard constraints that must be met.
Filter one or more pods that require affinity by label. If a pod that meets the filter criteria has been running on a node within the node range specified by the node label, the scheduler will not schedule the created pod to this node range.
NOTE:
When multiple anti-affinity policies are added, multiple labels are configured for filtering. A pod meets the filter criteria if it has one of the specified labels.
Best effort
Soft constraints that are met as much as possible.
Filter one or more pods that require affinity by label. If a pod that meets the filter criteria has been running on a node within the node range specified by the node label, the scheduler will preferentially schedule the created pod to other node range.
NOTE:
When multiple anti-affinity policies are added, multiple labels are configured for filtering. A pod meets the filter criteria if it has one of the specified labels.
- Click Add.
- Select Workload for Object Type.
- Add objects as required.
- Click Add Policy to customize a scheduling policy. The scheduling policy is implemented based on node labels.
- Click Specify Component, select the component to be scheduled, and click OK to quickly select the component to be scheduled. You do not need to manually enter the component label and label value.
Parameter
Description
Weight
This parameter is mandatory when the policy type selected in 2 is Best effort.
During scheduling, the scheduler adds the weight to the scores of other priority functions and schedules pods to the node with the largest total score.
The weight ranges from 1 to 100.
Namespace
Select the namespace to which the object belongs. This parameter specifies the namespace in which the scheduling policy takes effect.
Label Name
- When you click Add Policy to customize a scheduling policy, enter the workload label to be matched.
- When you click Specify Component to set the scheduling policy for a specified component, you can use the default label or customize a label.
Operators
When you click Add Policy to customize a scheduling policy, set the matching relationship.
- In: The label of the affinity or anti-affinity object is in the label value list (values field).
- NotIn: The label of the affinity or anti-affinity object is not in the label value list (values field).
- Exists: The affinity or anti-affinity object has a specified label name.
- DoesNotExist: The affinity or anti-affinity object does not have a specified label name.
Label Value
Enter the label value corresponding to the workload label name based on the selected operator.
- If Operators is In or NotIn, enter characters for the label value. Separate multiple labels by semicolons (;). Example:
str1;str2;str3
- If Operators is Exists or DoesNotExist, the label value can be empty.
- Click OK.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot