Skip to content

Commit 3702a75

Browse files
authored
docs: add 1.10 tab to website (#9039)
1 parent efb5ea5 commit 3702a75

File tree

74 files changed

+17215
-11698
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+17215
-11698
lines changed

hack/release/common.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,15 +194,15 @@ removeOldWebsiteDirectories() {
194194
# preview, docs, and v1.0 are special directories that we always propagate into the set of directory options
195195
# Keep the v1.0 version around while we are supporting v1beta1 migration
196196
# Drop it once we no longer want to maintain the v1.00 version in the docs
197-
last_n_versions=$(find website/content/en/* -maxdepth 0 -type d -name "*" | grep -v "preview\|docs\|v1.0" | sort | tail -n "${n}")
197+
last_n_versions=$(find website/content/en/* -maxdepth 0 -type d -name "*" | grep -v "preview\|docs\|v1.0" | sort -V | tail -n "${n}")
198198
last_n_versions+=$(echo -e "\nwebsite/content/en/preview")
199199
last_n_versions+=$(echo -e "\nwebsite/content/en/docs")
200200
last_n_versions+=$(echo -e "\nwebsite/content/en/v1.0")
201201
all=$(find website/content/en/* -maxdepth 0 -type d -name "*")
202202

203203
## symmetric difference
204204
# shellcheck disable=SC2086
205-
comm -3 <(sort <<< ${last_n_versions}) <(sort <<< ${all}) | tr -d '\t' | xargs -r -n 1 rm -r
205+
comm -3 <(sort <<< "${last_n_versions}") <(sort <<< "${all}") | tr -d '\t' | xargs -r -n 1 rm -r
206206
}
207207

208208
editWebsiteConfig() {

website/content/en/docs/concepts/nodeclasses.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -773,19 +773,19 @@ The following commands can be used to determine the versions availble for an ali
773773
{{< tabpane text=true right=false >}}
774774
{{% tab "AL2023" %}}
775775
```bash
776-
export K8S_VERSION="1.34"
776+
export K8S_VERSION="1.35"
777777
aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2023/" --recursive | jq -cr '.Parameters[].Name' | grep -v "recommended" | awk -F '/' '{print $10}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq
778778
```
779779
{{% /tab %}}
780780
{{% tab "AL2" %}}
781781
```bash
782-
export K8S_VERSION="1.34"
782+
export K8S_VERSION="1.35"
783783
aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2/" --recursive | jq -cr '.Parameters[].Name' | grep -v "recommended" | awk -F '/' '{print $8}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq
784784
```
785785
{{% /tab %}}
786786
{{% tab "Bottlerocket" %}}
787787
```bash
788-
export K8S_VERSION="1.34"
788+
export K8S_VERSION="1.35"
789789
aws ssm get-parameters-by-path --path "/aws/service/bottlerocket/aws-k8s-$K8S_VERSION" --recursive | jq -cr '.Parameters[].Name' | grep -v "latest" | awk -F '/' '{print $7}' | sort | uniq
790790
```
791791
{{% /tab %}}

website/content/en/docs/faq.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ Yes, see the [KubeletConfiguration Section in the NodePool docs]({{<ref "./conce
199199
The difference between the Core and Full variants is that Core is a minimal OS with less components and no graphic user interface (GUI) or desktop experience.
200200
`Windows2019`, `Windows2022` and `Windows2025` AMI families use the Windows Server Core option for simplicity, but if required, you can specify a custom AMI to run Windows Server Full.
201201

202-
You can specify the [Amazon EKS optimized AMI](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-windows-ami.html) with Windows Server 2022 Full for Kubernetes 1.34 by configuring an `amiSelector` that references the AMI name.
202+
You can specify the [Amazon EKS optimized AMI](https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-windows-ami.html) with Windows Server 2022 Full for Kubernetes 1.35 by configuring an `amiSelector` that references the AMI name.
203203
```yaml
204204
amiSelectorTerms:
205-
- name: Windows_Server-2022-English-Full-EKS_Optimized-1.34*
205+
- name: Windows_Server-2022-English-Full-EKS_Optimized-1.35*
206206
```
207207
208208
### Can I use Karpenter to scale my workload's pods?

website/content/en/docs/getting-started/getting-started-with-karpenter/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ After setting up the tools, set the Karpenter and Kubernetes version:
4949
```bash
5050
export KARPENTER_NAMESPACE="kube-system"
5151
export KARPENTER_VERSION="1.10.0"
52-
export K8S_VERSION="1.34"
52+
export K8S_VERSION="1.35"
5353
```
5454

5555
Then set the following environment variable:

website/content/en/docs/reference/metrics.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ description: >
88
---
99
<!-- this document is generated from hack/docs/metrics_gen/main.go -->
1010
Karpenter makes several metrics available in Prometheus format to allow monitoring cluster provisioning status. These metrics are available by default at `karpenter.kube-system.svc.cluster.local:8080/metrics` configurable via the `METRICS_PORT` environment variable documented [here](../settings)
11+
1112
### `karpenter_ignored_pod_count`
1213
Number of pods ignored during scheduling by Karpenter
1314
- Stability Level: ALPHA
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

website/content/en/v1.7/concepts/nodeclasses.md renamed to website/content/en/v1.10/concepts/nodeclasses.md

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ spec:
113113
- tags:
114114
karpenter.sh/discovery: ${CLUSTER_NAME}
115115
- id: cr-123
116+
- instanceMatchCriteria: open
116117

117118
# Optional, propagates tags to underlying EC2 resources
118119
tags:
@@ -199,13 +200,15 @@ status:
199200
id: cr-01234567890123456
200201
instanceMatchCriteria: targeted
201202
instanceType: g6.48xlarge
203+
interruptible: false
202204
ownerID: "012345678901"
203205
reservationType: capacity-block
204206
state: expiring
205207
- availabilityZone: us-west-2c
206208
id: cr-12345678901234567
207209
instanceMatchCriteria: open
208210
instanceType: g6.48xlarge
211+
interruptible: true
209212
ownerID: "98765432109"
210213
reservationType: default
211214
state: active
@@ -526,6 +529,15 @@ max-pods = 110
526529
</powershell>
527530
```
528531

532+
### Windows2025
533+
534+
```powershell
535+
<powershell>
536+
[string]$EKSBootstrapScriptFile = "$env:ProgramFiles\Amazon\EKS\Start-EKSBootstrap.ps1"
537+
& $EKSBootstrapScriptFile -EKSClusterName 'test-cluster' -APIServerEndpoint 'https://test-cluster' -Base64ClusterCA 'ca-bundle' -KubeletExtraArgs '--node-labels="karpenter.sh/capacity-type=on-demand,karpenter.sh/nodepool=test" --max-pods=110' -DNSClusterIP '10.100.0.10'
538+
</powershell>
539+
```
540+
529541
### Custom
530542

531543
The `Custom` AMIFamily ships without any default userData to allow you to configure custom bootstrapping for control planes or images that don't support the default methods from the other families. For this AMIFamily, kubelet must add the taint `karpenter.sh/unregistered:NoExecute` via the `--register-with-taints` flag ([flags](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/#options)) or the KubeletConfiguration spec ([options](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1/#kubelet-config-k8s-io-v1-CredentialProviderConfig) and [docs](https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/)). Karpenter will fail to register nodes that do not have this taint.
@@ -743,6 +755,7 @@ An `alias` term can be used to select EKS-optimized AMIs. An `alias` is formatte
743755
* `bottlerocket`
744756
* `windows2019`
745757
* `windows2022`
758+
* `windows2025`
746759

747760
The version string can be set to `latest`, or pinned to a specific AMI using the format of that AMI's GitHub release tags.
748761
For example, AL2 and AL2023 use dates for their release, so they can be pinned as follows:
@@ -760,19 +773,19 @@ The following commands can be used to determine the versions availble for an ali
760773
{{< tabpane text=true right=false >}}
761774
{{% tab "AL2023" %}}
762775
```bash
763-
export K8S_VERSION="1.33"
776+
export K8S_VERSION="1.35"
764777
aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2023/" --recursive | jq -cr '.Parameters[].Name' | grep -v "recommended" | awk -F '/' '{print $10}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq
765778
```
766779
{{% /tab %}}
767780
{{% tab "AL2" %}}
768781
```bash
769-
export K8S_VERSION="1.33"
782+
export K8S_VERSION="1.35"
770783
aws ssm get-parameters-by-path --path "/aws/service/eks/optimized-ami/$K8S_VERSION/amazon-linux-2/" --recursive | jq -cr '.Parameters[].Name' | grep -v "recommended" | awk -F '/' '{print $8}' | sed -r 's/.*(v[[:digit:]]+)$/\1/' | sort | uniq
771784
```
772785
{{% /tab %}}
773786
{{% tab "Bottlerocket" %}}
774787
```bash
775-
export K8S_VERSION="1.33"
788+
export K8S_VERSION="1.35"
776789
aws ssm get-parameters-by-path --path "/aws/service/bottlerocket/aws-k8s-$K8S_VERSION" --recursive | jq -cr '.Parameters[].Name' | grep -v "latest" | awk -F '/' '{print $7}' | sort | uniq
777790
```
778791
{{% /tab %}}
@@ -878,11 +891,12 @@ When using a custom SSM parameter, you'll need to expand the `ssm:GetParameter`
878891

879892
Capacity Reservation Selector Terms allow you to select [on-demand capacity reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) (ODCRs), which will be made available to NodePools which select the given EC2NodeClass.
880893
Karpenter will prioritize utilizing the capacity in these reservations before falling back to on-demand and spot.
881-
Capacity reservations can be discovered using ids or tags.
894+
Capacity reservations can be discovered using ids, tags, or instance match criteria.
882895

883896
This selection logic is modeled as terms.
884-
A term can specify an ID or a set of tags to select against.
897+
A term can specify an ID, a set of tags, or instance match criteria to select against.
885898
When specifying tags, it will select all capacity reservations accessible from the account with matching tags.
899+
When specifying instance match criteria, it selects reservations by their matching behavior: `open` (matches all compatible instances) or `targeted` (matches only explicitly targeted instances).
886900
This can be further restricted by specifying an owner ID.
887901

888902
For more information on utilizing ODCRs with Karpenter, refer to the [Utilizing ODCRs Task]({{< relref "../tasks/odcrs" >}}).
@@ -928,6 +942,26 @@ spec:
928942
ownerID: 012345678901
929943
```
930944

945+
Select by instance match criteria:
946+
947+
```yaml
948+
spec:
949+
capacityReservationSelectorTerms:
950+
# Select all open capacity reservations
951+
- instanceMatchCriteria: open
952+
```
953+
954+
Select by instance match criteria and tags:
955+
956+
```yaml
957+
spec:
958+
capacityReservationSelectorTerms:
959+
# Select targeted capacity reservations with matching tags
960+
- instanceMatchCriteria: targeted
961+
tags:
962+
key: foo
963+
```
964+
931965
## spec.tags
932966

933967
Karpenter adds tags to all resources it creates, including EC2 Instances, EBS volumes, and Launch Templates. The default set of tags are listed below.
@@ -1033,7 +1067,7 @@ spec:
10331067
encrypted: true
10341068
```
10351069

1036-
### Windows2019/Windows2022
1070+
### Windows2019/Windows2022/Windows2025
10371071
```yaml
10381072
spec:
10391073
blockDeviceMappings:
@@ -1470,7 +1504,7 @@ This allows the container to take ownership of devices allocated to the pod via
14701504

14711505
This setting helps you enable Neuron workloads on Bottlerocket instances. See [Accelerators/GPU Resources]({{< ref "./scheduling#acceleratorsgpu-resources" >}}) for more details.
14721506

1473-
### Windows2019/Windows2022
1507+
### Windows2019/Windows2022/Windows2025
14741508

14751509
* Your UserData must be specified as PowerShell commands.
14761510
* The UserData specified will be prepended to a Karpenter managed section that will bootstrap the kubelet.
@@ -1536,6 +1570,10 @@ If a `NodeClaim` requests `vpc.amazonaws.com/efa` resources, `spec.associatePubl
15361570
requires that the field is only set to true when configuring an instance with a single ENI at launch. When using this field, it is advised that users segregate their EFA workload to use a separate `NodePool` / `EC2NodeClass` pair.
15371571
{{% /alert %}}
15381572

1573+
## spec.ipPrefixCount
1574+
1575+
This value is a integer field that controls how many ip prefixes will be assigned to `NodeClaim`. See the [EC2 Launch Template Network Interface Spec](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-ec2-launchtemplate-networkinterface.html) for more information. Sets ipv4PrefixCount if you are using an IPv4 Cluster, or ipv6PrefixCount if you are using IPv6.
1576+
15391577
## status.subnets
15401578
[`status.subnets`]({{< ref "#statussubnets" >}}) contains the resolved `id` and `zone` of the subnets that were selected by the [`spec.subnetSelectorTerms`]({{< ref "#specsubnetselectorterms" >}}) for the node class. The subnets will be sorted by the available IP address count in decreasing order.
15411579

@@ -1676,6 +1714,7 @@ status:
16761714
| `ownerID` | `459763720645` | The account ID that owns the capacity reservation |
16771715
| `reservationType` | `default` | The type of the capacity reservation. Can be `default` or `capacity-block`. |
16781716
| `state` | `active` | The state of the capacity reservation. Can be `active` or `expiring`. |
1717+
| `interruptible` | `true` or `false` | Whether the capacity reservation is interruptible. |
16791718

16801719
#### Examples
16811720

@@ -1686,13 +1725,15 @@ status:
16861725
id: cr-01234567890123456
16871726
instanceMatchCriteria: targeted
16881727
instanceType: g6.48xlarge
1728+
interruptible: false
16891729
ownerID: "012345678901"
16901730
reservationType: capacity-block
16911731
state: expiring
16921732
- availabilityZone: us-west-2c
16931733
id: cr-12345678901234567
16941734
instanceMatchCriteria: open
16951735
instanceType: g6.48xlarge
1736+
interruptible: true
16961737
ownerID: "98765432109"
16971738
reservationType: default
16981739
state: active

0 commit comments

Comments
 (0)