From 275fefef2a062b4b40431090118d79ef5db29438 Mon Sep 17 00:00:00 2001 From: Yu Xiang Zhang Date: Sat, 3 Feb 2024 00:21:25 +0000 Subject: [PATCH 1/2] Improve userdocs layout --- userdocs/mkdocs.yml | 14 +++-- userdocs/src/community.md | 52 +--------------- userdocs/src/getting-started.md | 106 ++++++++++++++++---------------- userdocs/src/usage/schema.md | 5 +- userdocs/theme/home.html | 44 +++++++------ 5 files changed, 85 insertions(+), 136 deletions(-) diff --git a/userdocs/mkdocs.yml b/userdocs/mkdocs.yml index 47d19e3d31..41669d6b22 100644 --- a/userdocs/mkdocs.yml +++ b/userdocs/mkdocs.yml @@ -42,7 +42,6 @@ theme: features: - header.autohide - navigation.instant - - navigation.sections - navigation.top - navigation.tabs - navigation.tabs.sticky @@ -135,10 +134,13 @@ nav: - Getting Started: - Introduction: getting-started.md - Installation: installation.md + - Config File Schema: usage/schema.md + - Dry Run: usage/dry-run.md + - FAQ: usage/faq.md - Announcements: - announcements/managed-nodegroups-announcement.md - announcements/nodegroup-override-announcement.md - - Usage: + - User Guide: - Clusters: - usage/creating-and-managing-clusters.md - usage/access-entries.md @@ -170,6 +172,8 @@ nav: - usage/container-runtime.md - usage/windows-worker-nodes.md - usage/nodegroup-additional-volume-mappings.md + - usage/eksctl-karpenter.md + - usage/eksctl-anywhere.md - GitOps: - usage/gitops-v2.md - Security: @@ -189,12 +193,10 @@ nav: - usage/iam-identity-mappings.md - usage/iamserviceaccounts.md - usage/pod-identity-associations.md - - usage/dry-run.md - usage/schema.md - - usage/eksctl-anywhere.md - - usage/eksctl-karpenter.md + - usage/dry-run.md - usage/troubleshooting.md - FAQ: usage/faq.md - - Examples: "https://github.com/eksctl-io/eksctl/tree/main/examples" + - Example Configs: "https://github.com/eksctl-io/eksctl/tree/main/examples" - Community: community.md - Adopters: adopters.md diff --git a/userdocs/src/community.md b/userdocs/src/community.md index b15fcaf31e..994ea8f275 100644 --- a/userdocs/src/community.md +++ b/userdocs/src/community.md @@ -10,14 +10,14 @@ For more information, please head to our [Community][community] and [Contributin [community]: https://github.com/eksctl-io/eksctl/blob/main/COMMUNITY.md [contributing]: https://github.com/eksctl-io/eksctl/blob/main/CONTRIBUTING.md -## Get in touch :simple-wechat: +## Get in touch :material-chat-processing-outline: [Create an issue](https://github.com/eksctl-io/eksctl/issues/new), or login to [Eksctl Slack (#eksctl)][slackchan] ([signup][slackjoin]). [slackjoin]: https://slack.k8s.io/ [slackchan]: https://slack.k8s.io/messages/eksctl/ -## Release Cadence :material-clipboard-check-multiple-outline: +## Release Cadence :simple-starship: Minor releases of `eksctl` are loosely scheduled for weekly on Fridays. Patch releases will be made available as needed. @@ -28,51 +28,3 @@ each minor release. RC builds are intended only for testing purposes. ## Eksctl Roadmap :octicons-project-roadmap-16: The EKS section of the AWS Containers Roadmap contains the overall roadmap for EKS. All the upcoming features for `eksctl` built in partnership with AWS can be found [here](https://github.com/aws/containers-roadmap/projects/1?card_filter_query=label%3Aeks). - -## 2021 Roadmap - -The following are the features/epics we will focus on and hope to ship this year. -We will take their completion as a marker for graduation to v1. -General maintenance of `eksctl` is still implied alongside this work, -but all subsequent features which are suggested during the year will be weighed -in relation to the core targets. - -Progress on the roadmap can be tracked [here](https://github.com/eksctl-io/eksctl/projects/2). - -### Technical Debt - -Not a feature, but a vital pre-requisite to making actual feature work straightforward. - -Key aims within this goal include, but are not limited to: - -- [Refactoring/simplifying the Provider](https://github.com/eksctl-io/eksctl/issues/2931) -- [Expose core `eksctl` workflows through a library/SDK](https://github.com/eksctl-io/eksctl/issues/813) -- Greater integration test coverage and resilience -- Greater unit test coverage (this will either be dependent on, or help drive out, - better internal interface boundaries) - -### Declarative configuration and cluster reconciliation - -This has been on the TODO list for quite a while, and we are very excited to bring -it into scope for 2021 - -Current interaction with `eksctl` is imperative, we hope to add support for declarative -configuration and cluster reconciliation via a new `eksctl apply -f config.yaml` -command. This model will additionally allow users to manage a cluster via a git repo. - -A [WIP proposal](https://github.com/eksctl-io/eksctl/blob/main/docs/proposal-007-apply.md) -is already under consideration, to participate in the development of this feature -please refer to the [tracking issue](https://github.com/eksctl-io/eksctl/issues/2774) -and our [proposal contributing guide](https://github.com/eksctl-io/eksctl/blob/main/CONTRIBUTING.md#proposals). - -### Flux v2 integration (GitOps Toolkit) - -In 2019 `eksctl` gave users a way to easily create a Gitops-ready ([Flux v1](https://docs.fluxcd.io/en/1.21.1/)) -cluster and to declare a set of pre-installed applications Quickstart profiles which can be managed via a git repo. - -Since then, the practice of GitOps has matured, therefore `eksctl`'s support of -GitOps has changed to keep up with current standards. From version 0.76.0 Flux v1 support was removed after an 11 -month deprecation period. In its place support for [Flux v2](https://fluxcd.io/) can be used via -`eksctl enable flux` - - diff --git a/userdocs/src/getting-started.md b/userdocs/src/getting-started.md index 8c45422716..59fb8f7df3 100644 --- a/userdocs/src/getting-started.md +++ b/userdocs/src/getting-started.md @@ -2,17 +2,16 @@ !!! tip "New for 2023" `eksctl` now supports configuring cluster access management via [AWS EKS Access Entries](/usage/access-entries). - + `eksctl` now supports configuring fine-grained permissions to EKS running apps via [EKS Pod Identity Associations](/usage/pod-identity-associations) - `eksctl` now supports [updating the subnets and security groups](/usage/cluster-subnets-security-groups) associated with the EKS control plane. - + `eksctl` now supports creating fully private clusters on [AWS Outposts](/usage/outposts). `eksctl` now supports new ISO regions `us-iso-east-1` and `us-isob-east-1`. - `eksctl` now supports new regions - Calgary (`ca-west-1`), Zurich (`eu-central-2`), Spain (`eu-south-2`), Hyderabad (`ap-south-2`), Melbourne (`ap-southeast-4`) and Tel Aviv (`il-central-1`). + `eksctl` now supports new regions - Calgary (`ca-west-1`), Tel Aviv (`il-central-1`), Melbourne (`ap-southeast-4`), Hyderabad (`ap-south-2`), Spain (`eu-south-2`) and Zurich (`eu-central-2`). `eksctl` is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes service for EC2. It is written in Go, uses CloudFormation, was created by [Weaveworks](https://www.weave.works/) and it welcomes @@ -32,38 +31,37 @@ contributions from the community. - `us-west-2` region - a dedicated VPC (check your quotas) -Example output: - -```sh -$ eksctl create cluster -[ℹ] using region us-west-2 -[ℹ] setting availability zones to [us-west-2a us-west-2c us-west-2b] -[ℹ] subnets for us-west-2a - public:192.168.0.0/19 private:192.168.96.0/19 -[ℹ] subnets for us-west-2c - public:192.168.32.0/19 private:192.168.128.0/19 -[ℹ] subnets for us-west-2b - public:192.168.64.0/19 private:192.168.160.0/19 -[ℹ] nodegroup "ng-98b3b83a" will use "ami-05ecac759c81e0b0c" [AmazonLinux2/1.11] -[ℹ] creating EKS cluster "floral-unicorn-1540567338" in "us-west-2" region -[ℹ] will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup -[ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-west-2 --cluster=floral-unicorn-1540567338' -[ℹ] 2 sequential tasks: { create cluster control plane "floral-unicorn-1540567338", create nodegroup "ng-98b3b83a" } -[ℹ] building cluster stack "eksctl-floral-unicorn-1540567338-cluster" -[ℹ] deploying stack "eksctl-floral-unicorn-1540567338-cluster" -[ℹ] building nodegroup stack "eksctl-floral-unicorn-1540567338-nodegroup-ng-98b3b83a" -[ℹ] --nodes-min=2 was set automatically for nodegroup ng-98b3b83a -[ℹ] --nodes-max=2 was set automatically for nodegroup ng-98b3b83a -[ℹ] deploying stack "eksctl-floral-unicorn-1540567338-nodegroup-ng-98b3b83a" -[✔] all EKS cluster resource for "floral-unicorn-1540567338" had been created -[✔] saved kubeconfig as "~/.kube/config" -[ℹ] adding role "arn:aws:iam::376248598259:role/eksctl-ridiculous-sculpture-15547-NodeInstanceRole-1F3IHNVD03Z74" to auth ConfigMap -[ℹ] nodegroup "ng-98b3b83a" has 1 node(s) -[ℹ] node "ip-192-168-64-220.us-west-2.compute.internal" is not ready -[ℹ] waiting for at least 2 node(s) to become ready in "ng-98b3b83a" -[ℹ] nodegroup "ng-98b3b83a" has 2 node(s) -[ℹ] node "ip-192-168-64-220.us-west-2.compute.internal" is ready -[ℹ] node "ip-192-168-8-135.us-west-2.compute.internal" is ready -[ℹ] kubectl command should work with "~/.kube/config", try 'kubectl get nodes' -[✔] EKS cluster "floral-unicorn-1540567338" in "us-west-2" region is ready -``` + ???- info "Example output" + ```sh + $ eksctl create cluster + [ℹ] using region us-west-2 + [ℹ] setting availability zones to [us-west-2a us-west-2c us-west-2b] + [ℹ] subnets for us-west-2a - public:192.168.0.0/19 private:192.168.96.0/19 + [ℹ] subnets for us-west-2c - public:192.168.32.0/19 private:192.168.128.0/19 + [ℹ] subnets for us-west-2b - public:192.168.64.0/19 private:192.168.160.0/19 + [ℹ] nodegroup "ng-98b3b83a" will use "ami-05ecac759c81e0b0c" [AmazonLinux2/1.11] + [ℹ] creating EKS cluster "floral-unicorn-1540567338" in "us-west-2" region + [ℹ] will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup + [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-west-2 --cluster=floral-unicorn-1540567338' + [ℹ] 2 sequential tasks: { create cluster control plane "floral-unicorn-1540567338", create nodegroup "ng-98b3b83a" } + [ℹ] building cluster stack "eksctl-floral-unicorn-1540567338-cluster" + [ℹ] deploying stack "eksctl-floral-unicorn-1540567338-cluster" + [ℹ] building nodegroup stack "eksctl-floral-unicorn-1540567338-nodegroup-ng-98b3b83a" + [ℹ] --nodes-min=2 was set automatically for nodegroup ng-98b3b83a + [ℹ] --nodes-max=2 was set automatically for nodegroup ng-98b3b83a + [ℹ] deploying stack "eksctl-floral-unicorn-1540567338-nodegroup-ng-98b3b83a" + [✔] all EKS cluster resource for "floral-unicorn-1540567338" had been created + [✔] saved kubeconfig as "~/.kube/config" + [ℹ] adding role "arn:aws:iam::376248598259:role/eksctl-ridiculous-sculpture-15547-NodeInstanceRole-1F3IHNVD03Z74" to auth ConfigMap + [ℹ] nodegroup "ng-98b3b83a" has 1 node(s) + [ℹ] node "ip-192-168-64-220.us-west-2.compute.internal" is not ready + [ℹ] waiting for at least 2 node(s) to become ready in "ng-98b3b83a" + [ℹ] nodegroup "ng-98b3b83a" has 2 node(s) + [ℹ] node "ip-192-168-64-220.us-west-2.compute.internal" is ready + [ℹ] node "ip-192-168-8-135.us-west-2.compute.internal" is ready + [ℹ] kubectl command should work with "~/.kube/config", try 'kubectl get nodes' + [✔] EKS cluster "floral-unicorn-1540567338" in "us-west-2" region is ready + ``` Customize your cluster by using a config file. Just run @@ -101,7 +99,15 @@ To learn more about how to create clusters and other features continue reading t [ekskubectl]: https://docs.aws.amazon.com/eks/latest/userguide/configure-kubectl.html -### Basic cluster creation +## Listing clusters + +To list the details about a cluster or all of the clusters, use: + +```sh +eksctl get cluster [--name=] [--region=] +``` + +## Basic cluster creation To create a basic cluster, but with a different name, run: @@ -116,15 +122,7 @@ With `eksctl` you can deploy any of the supported versions by passing `--version eksctl create cluster --version=1.24 ``` -### Listing clusters - -To list the details about a cluster or all of the clusters, use: - -```sh -eksctl get cluster [--name=][--region=] -``` - -#### Config-based creation +### Config-based creation You can also create a cluster passing all configuration information in a file using `--config-file`: @@ -140,7 +138,7 @@ nodegroups until later: eksctl create cluster --config-file= --without-nodegroup ``` -#### Cluster credentials +### Cluster credentials To write cluster credentials to a file other than default, run: @@ -163,10 +161,10 @@ eksctl create cluster --name=cluster-3 --nodes=4 --auto-kubeconfig To obtain cluster credentials at any point in time, run: ```sh -eksctl utils write-kubeconfig --cluster= [--kubeconfig=][--set-kubeconfig-context=] +eksctl utils write-kubeconfig --cluster= [--kubeconfig=] [--set-kubeconfig-context=] ``` -#### Caching Credentials +### Caching Credentials `eksctl` supports caching credentials. This is useful when using MFA and not wanting to continuously enter the MFA token on each `eksctl` command run. @@ -184,7 +182,7 @@ It's also possible to configure the location of this cache file using `EKSCTL_CR be the **full path** to a file in which to store the cached credentials. These are credentials, so make sure the access of this file is restricted to the current user and in a secure location. -### Autoscaling +## Autoscaling To use a 3-5 node Auto Scaling Group, run: @@ -196,7 +194,7 @@ You will still need to install and configure Auto Scaling. See the "Enable Auto note that depending on your workloads you might need to use a separate nodegroup for each AZ. See [Zone-aware Auto Scaling](/usage/autoscaling/) for more info. -### SSH access +## SSH access In order to allow SSH access to nodes, `eksctl` imports `~/.ssh/id_rsa.pub` by default, to use a different SSH public key, e.g. `my_eks_node_id.pub`, run: @@ -218,7 +216,7 @@ eksctl create cluster --enable-ssm If you are creating managed nodes with a custom launch template, the `--enable-ssm` flag is disallowed. -### Tagging +## Tagging To add custom tags for all resources, use `--tags`. @@ -226,7 +224,7 @@ To add custom tags for all resources, use `--tags`. eksctl create cluster --tags environment=staging --region=us-east-1 ``` -### Volume size +## Volume size To configure node root volume, use the `--node-volume-size` (and optionally `--node-volume-type`), e.g.: @@ -237,7 +235,7 @@ eksctl create cluster --node-volume-size=50 --node-volume-type=io1 ???+ note The default volume size is 80G. -### Deletion +## Deletion To delete a cluster, run: diff --git a/userdocs/src/usage/schema.md b/userdocs/src/usage/schema.md index b512d70c6c..8b5bc267a6 100755 --- a/userdocs/src/usage/schema.md +++ b/userdocs/src/usage/schema.md @@ -1,7 +1,6 @@ -# Config file schema +# Config File Schema + Use `eksctl utils schema` to get the raw JSON schema.
- - diff --git a/userdocs/theme/home.html b/userdocs/theme/home.html index b674677318..e3d7070744 100644 --- a/userdocs/theme/home.html +++ b/userdocs/theme/home.html @@ -103,7 +103,8 @@ .mdx-parallax__group:first-child { background-color: initial; contain: strict; - height: 100vh + height: 30vw; + min-height: 300px; } .safari .mdx-parallax__group:first-child { @@ -112,13 +113,13 @@ @media (min-width: 125vh) { .mdx-parallax__group:first-child { - height:110vw + height:30vw } } @media (min-width: 137.5vh) { .mdx-parallax__group:first-child { - height:115vw + height:30vw } } @@ -487,22 +488,17 @@
+ + -
-
-
-

{{ config.site_description }}.

-

eksctl is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes service for EC2.

- Get started - Learn more -
-
- - {% include ".icons/fontawesome/solid/arrow-down-long.svg" %} - -
+ Todo: Add a nicer illustration --> +
+
+

{{ config.site_description }}.

+

eksctl is a simple CLI tool for creating and managing clusters on EKS - Amazon's managed Kubernetes service for EC2.

+ Get started + Learn more
@@ -544,12 +540,14 @@

New for {{ build_date_utc.strftime('%Y') }}

Configuring cluster access management via AWS EKS Access Entries.

Configuring fine-grained permissions to EKS running apps via EKS Pod Identity Associations.

Creating fully private clusters on AWS Outposts.

-

Supported Regions - Zurich (eu-central-2), - Spain (eu-south-2), - Hyderabad (ap-south-2), - Melbourne (ap-southeast-4), - Tel Aviv (il-central-1), - US ISO - (us-iso-east-1 and us-isob-east-1) +

Supported Regions - + Calgary - (ca-west-1), + US ISO and ISOB - (us-iso-east-1 and us-isob-east-1), + Tel Aviv (il-central-1), + Melbourne (ap-southeast-4), + Hyderabad (ap-south-2), + Spain (eu-south-2), + Zurich (eu-central-2)

EKS supported versions 1.25, 1.26, 1.27 (default) and 1.28.

From 3c2bb268f001b06e19cbcacf614a2b396121ea34 Mon Sep 17 00:00:00 2001 From: Yu Xiang Zhang Date: Wed, 7 Feb 2024 19:57:49 +0000 Subject: [PATCH 2/2] Announce eksctl Support Status Update --- userdocs/src/stylesheets/extra.css | 3 ++- userdocs/theme/home.html | 4 ---- userdocs/theme/main.html | 5 ++--- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/userdocs/src/stylesheets/extra.css b/userdocs/src/stylesheets/extra.css index 02011211d5..890c92ef64 100644 --- a/userdocs/src/stylesheets/extra.css +++ b/userdocs/src/stylesheets/extra.css @@ -20,8 +20,9 @@ img[src$="#wwinline"] { --md-default-fg-color: #c8cad5; } -a.md-button.announce { +.announce { padding: 0.3em 0.3em; + background-color: var(--md-primary-bg-color); } .md-header__button.md-logo img, .md-header__button.md-logo svg { diff --git a/userdocs/theme/home.html b/userdocs/theme/home.html index e3d7070744..997b7840ab 100644 --- a/userdocs/theme/home.html +++ b/userdocs/theme/home.html @@ -474,10 +474,6 @@ top: 2.4rem } - .md-banner { - display: none; - } - .contributors img { width: 3rem; padding: .2rem; diff --git a/userdocs/theme/main.html b/userdocs/theme/main.html index 3ac5095c4d..f0d46da3eb 100644 --- a/userdocs/theme/main.html +++ b/userdocs/theme/main.html @@ -3,9 +3,8 @@ {% block announce %}

- eksctl has now moved to a new GitHub Organisation. For more details check out - Weaveworks Blog - and AWS Blog posts. + eksctl is now fully maintained by AWS. For more details check out + eksctl Support Status Update.

{% endblock %}