Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add compact placement feature for node pools #3636

Merged
merged 10 commits into from
Dec 9, 2022
34 changes: 34 additions & 0 deletions packages/google-container/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,9 @@ message NodeConfig {
// All the nodes in the node pool will be Confidential VM once enabled.
ConfidentialNodes confidential_nodes = 35;

// Enable or disable NCCL fast socket for the node pool.
optional FastSocket fast_socket = 36;

// The resource labels for the node pool to use to annotate any related
// Google Compute Engine resources.
map<string, string> resource_labels = 37;
Expand Down Expand Up @@ -1278,9 +1281,8 @@ message BinaryAuthorization {
// anything other than EVALUATION_MODE_UNSPECIFIED, this field is ignored.
bool enabled = 1 [deprecated = true];

// Mode of operation for binauthz policy evaluation. Currently the only
// options are equivalent to enable/disable. If unspecified, defaults to
// DISABLED.
// Mode of operation for binauthz policy evaluation. If unspecified, defaults
// to DISABLED.
EvaluationMode evaluation_mode = 2;
}

Expand Down Expand Up @@ -2284,6 +2286,9 @@ message UpdateNodePoolRequest {
// Enable or disable gvnic on the node pool.
VirtualNIC gvnic = 29;

// Enable or disable NCCL fast socket for the node pool.
FastSocket fast_socket = 31;

// Logging configuration.
NodePoolLoggingConfig logging_config = 32;

Expand Down Expand Up @@ -2994,6 +2999,23 @@ message NodePool {
ERROR = 6;
}

// PlacementPolicy defines the placement policy used by the node pool.
message PlacementPolicy {
// Type defines the type of placement policy.
enum Type {
// TYPE_UNSPECIFIED specifies no requirements on nodes
// placement.
TYPE_UNSPECIFIED = 0;

// COMPACT specifies node placement in the same availability domain to
// ensure low communication latency.
COMPACT = 1;
}

// The type of placement.
Type type = 1;
}

// The name of the node pool.
string name = 1;

Expand Down Expand Up @@ -3063,6 +3085,9 @@ message NodePool {
// Upgrade settings control disruption and speed of the upgrade.
UpgradeSettings upgrade_settings = 107;

// Specifies the node placement policy.
PlacementPolicy placement_policy = 108;

// Output only. [Output only] Update info contains relevant information during a node
// pool update.
UpdateInfo update_info = 109 [(google.api.field_behavior) = OUTPUT_ONLY];
Expand Down Expand Up @@ -4196,6 +4221,12 @@ message VirtualNIC {
bool enabled = 1;
}

// Configuration of Fast Socket feature.
message FastSocket {
// Whether Fast Socket features are enabled in the node pool.
bool enabled = 1;
}

// PrivateIPv6GoogleAccess controls whether and how the pods can communicate
// with Google Services through gRPC over IPv6.
enum PrivateIPv6GoogleAccess {
Expand Down
Loading