Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows-backup/old-vale.yml.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Style check

on:
pull_request:
workflow_dispatch:

jobs:
style-job:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3

# For AsciiDoc users:
- name: Install Asciidoctor
run: sudo apt-get install -y asciidoctor

- name: Vale Style Check
uses: errata-ai/vale-action@reviewdog
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
fail_on_error: false
reporter: github-pr-check
filter_mode: added
files: latest/ug
continue-on-error: true

- name: Enforce AWS Brand
uses: errata-ai/vale-action@reviewdog
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
fail_on_error: true
reporter: github-pr-check
filter_mode: added
files: latest/ug
vale_flags: "--config brand.vale.ini"
continue-on-error: true
19 changes: 9 additions & 10 deletions latest/ug/clusters/zone-shift.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
:info_doctype: section
:info_titleabbrev: Learn about Zonal Shift
:aws: pass:q[[.shared]``AWS``]
:imagesdir: images/

//GDC: remove use of "failure"

Expand All @@ -18,9 +17,9 @@ You can start a zonal shift for an EKS cluster, or you can allow {aws} to do it

The following diagram illustrates two example workloads, Orders, and Products. The purpose of this example is to show how workloads and Pods in different AZs communicate.

image::zs-traffic-flow-before-1.png[Illustration of network traffic]
image::images/zs-traffic-flow-before-1.png[Illustration of network traffic]

image::zs-traffic-flow-before-2.png[Illustration of network traffic]
image::images/zs-traffic-flow-before-2.png[Illustration of network traffic]

. For Orders to communicate with Products, it must first resolve the DNS name of the destination service. Orders will communicate with CoreDNS to fetch the virtual IP address (Cluster IP) for that Service. Once Orders resolves the Products service name, it sends traffic to that target IP.
. The kube-proxy runs on every node in the cluster and continuously watches the https://kubernetes.io/docs/concepts/services-networking/endpoint-slices/[EndpointSlices] for Services. When a Service is created, an EndpointSlice is created and managed in the background by the EndpointSlice controller. Each EndpointSlice has a list or table of endpoints containing a subset of Pod addresses along with the nodes that they're running on. The kube-proxy sets up routing rules for each of these Pod endpoints using `iptables` on the nodes. The kube-proxy is also responsible for a basic form of load balancing by redirecting traffic destined to a service's Cluster IP to instead be sent to a Pod's IP address directly. The kube-proxy does this by rewriting the destination IP on the outgoing connection.
Expand All @@ -42,9 +41,9 @@ During an EKS zonal shift, the following will automatically take place:
The diagrams below depicts a high level flow of how EKS zonal shift ensures that only healthy Pod endpoints are targeted in your cluster environment.


image::zs-traffic-flow-after-1.png[Illustration of network traffic]
image::images/zs-traffic-flow-after-1.png[Illustration of network traffic]

image::zs-traffic-flow-after-2.png[Illustration of network traffic]
image::images/zs-traffic-flow-after-2.png[Illustration of network traffic]


== EKS Zonal Shift Requirements
Expand All @@ -66,11 +65,11 @@ Ensuring that you have such a multi-AZ setup for your EKS environment will enhan

The diagram below depicts a highly available EKS environment with 3 healthy AZs.

image::zs-ha-before-failure.png[Illustration of network]
image::images/zs-ha-before-failure.png[Illustration of network]

The diagram below depicts how an EKS environment with 3 AZs is resilient to an AZ impairment and remains highly available because of the 2 other healthy AZs.

image::zs-ha-after-failure.png[Illustration of network]
image::images/zs-ha-after-failure.png[Illustration of network]

=== Provision Enough Compute Capacity to Withstand Removal of a Single AZ

Expand All @@ -89,12 +88,12 @@ Kubernetes allows you to pre-scale your workloads by running multiple instances

The diagram below depicts an EKS environment with east-to-west traffic flow when all AZs are healthy.

image::zs-spread-constraints.png[Illustration of network]
image::images/zs-spread-constraints.png[Illustration of network]


The diagram below depicts an EKS environment with east-to-west traffic flow when a single AZ fails, and you initiate a zonal shift.

image::zs-spread-constraints-2.png[Illustration of network]
image::images/zs-spread-constraints-2.png[Illustration of network]

The code snippet below is an example of how to setup your workload with this Kubernetes feature.

Expand Down Expand Up @@ -216,7 +215,7 @@ metadata:
The diagram below depicts pods that have been co-located on the same node using
pod affinity rules.

image::zs-pod-affinity-rule.png[Illustration of network]
image::images/zs-pod-affinity-rule.png[Illustration of network]


=== Test That Your Cluster Environment Can Handle The Loss of an AZ
Expand Down
23 changes: 17 additions & 6 deletions latest/ug/contribute/contribute.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,22 @@ You can now edit the EKS Docs directly on GitHub. Our streamlined process includ

We look forward to your contributions.

*To edit a single page from a web browser*
include::edit-single-web.adoc[leveloffset=+1]

include::edit-web.adoc[leveloffset=+1]

//include::vale-github.adoc[leveloffset=+1]

include::vale-local.adoc[leveloffset=+1]

include::create-page.adoc[leveloffset=+1]

include::insert-link.adoc[leveloffset=+1]

include::create-content-q.adoc[leveloffset=+1]

include::pr-preview.adoc[leveloffset=+1]

//include::pr-status.adoc[leveloffset=+1]

. Navigate to the page in the EKS User Guide
. Select *Edit this page on GitHub* in the right sidebar
. Open the GitHub editor: press `e` or select *Edit in Place* from the pencil icon dropdown menu
. Make your edits, and then select *Commit changes...*
** Confirm your email and include a short description of the changes

49 changes: 49 additions & 0 deletions latest/ug/contribute/create-content-q.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
[.topic]
[#create-content-q]
= Create docs content with Amazon Q
:info_titleabbrev: Create with Amazon Q

You can use Amazon Q to create and revise docs content. This is an easy way to get started on a new page. Amazon Q is available as an extension to Visual Studio (VS) Code.

In the following image, Amazon Q generated the lines marked with green.

image::images/contribute-q.png["Amazon Q in VS Code"]

== Install Amazon Q with VS Code

1. Open VS Code
2. Go to the Extensions view (Ctrl+Shift+X or Cmd+Shift+X)
3. Search for "Amazon Q"
4. Click Install on the Amazon Q extension
5. Wait for installation to complete
6. Restart VS Code when prompted

== Login to Amazon Q

1. After installing, click the Amazon Q icon in the VS Code activity bar
2. Click "Sign in to Amazon Q"
3. Enter your {aws} credentials when prompted
4. Once authenticated, you'll see the Amazon Q chat interface

== Use Amazon Q to create content

1. Open the file you want to edit in VS Code
2. Select the text you want to revise or the location for new content
3. Press *Ctrl+I* or *Cmd+I*
4. In the prompt, be specific about:
* The type of content you need
* The target audience
* Key points to cover
* Desired tone and style
5. Review the generated content in the inline preview
6. Use *enter* to accept the changes, or *esc* to reject them.
7. Edit further as needed

== Tips

* Start with a simple request and iterate to get the content you want.
* Create a first draft of the page headings, then ask Q to fill them in.
* Amazon Q might output Markdown. This is fine. The AsciiDoc tooling can understand most markdown syntax.

To learn more about Amazon Q Developer, see link:amazonq/latest/qdeveloper-ug/q-in-IDE.html["Using Amazon Q Developer in the IDE",type="documentation"].

35 changes: 35 additions & 0 deletions latest/ug/contribute/create-page.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
[.topic]
[#create-page]
= Create a new page
:info_titleabbrev: Create page


Learn how to create a new docs page. This topic includes instructions for creating the initial page metadata, and adding the page to the guide table of contents.

== Create page

. Navigate to the chapter directory. For example, if you want to create a new page in the "Security" section, navigate to the `latest/ug/security` directory.
. Determine the page ID. By convention, the page ID is all lowercase and segmented with `-`. The ID of this page is `create-page`.
. Create a new file with the page ID and the `adoc` extension. For example, `create-page.adoc`.
. Insert the page metadata using this template:

image::images/contribute-new-page.png["New page metadata"]


== Add page to navigation

. Navigate to the parent page. The parent page of top level sections is `book.adoc`.
. At the bottom of the parent page, include the child page.
+
[source]
====
+++include::${filename}[leveloffset=+1]+++
====
+
_For example:_
+
[source]
====
+++include::create-page.adoc[leveloffset=+1]+++
====

59 changes: 59 additions & 0 deletions latest/ug/contribute/edit-single-web.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
[.topic]
[#edit-single-web]
= Edit a single page from a web browser
:info_titleabbrev: Edit single page

You can easily edit a single page in the EKS User Guide directly through your web browser.

image::images/contribute-web-edit.png["View of GitHub web edit interface"]

If you want to edit multiple pages from your web browser, see <<edit-web>>.

== Prerequisites

* Docs page to change opened in web browser
* Signed into GitHub

== Procedure

. Navigate to the page you want to edit in the EKS User Guide documentation

. Look for the *Edit this page on GitHub* button located in the right sidebar of the page

. Once on GitHub, open the editor by either:
** Pressing the `e` key on your keyboard
** Clicking the pencil icon and selecting *Edit in Place* from the dropdown menu
** If you don't have the option to edit, you need to login to GitHub. Your GitHub account does not need any special permissions to suggest changes. However, internal Amazon contributors should link their GitHub profile.

. Make your required changes to the content in the GitHub editor
** The editor provides syntax highlighting and preview capabilities
** You can use AsciiDoc markup to format your changes
** You can use `ctrl-f` to open a find/replace interface.

. (Optional) Preview your changes.
** Use the `preview` tab to preview your changes with rich formatting.
** Use the `show diff` option to highlight changed sections. Removed sections have a red indicator in the left margin. New sections have a green indicator in the left margin.

. When finished editing, click the *Commit changes...* button at the top of the editor

. In the commit dialog:
** Verify your email address is correct
** Add a brief but descriptive commit message explaining your changes
** Optionally add a longer description if needed
** Select to create a new branch and pull request

You have created a pull request including the proposed changes.

== Pull Request Overview

When you create a PR:

* Your changes are submitted for review by repository maintainers
* Reviewers can comment on your changes and request modifications
* Automated tests may run to validate your changes
* Once approved, your changes can be merged into the main repository

Pull requests help ensure quality and provide a way to discuss changes before they are integrated.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews[Learn how pull requests are reviewed and approved in the GitHub Docs.]

31 changes: 31 additions & 0 deletions latest/ug/contribute/edit-web.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[.topic]
[#edit-web]
= Edit multiple files from a web browser with the GitHub Web Editor
:info_titleabbrev: Edit files with GitHub

If you want to propose change to multiple pages, or create a new docs page, use the GitHub.dev web editor. This web editor is based on the popular Visual Studio Code text editor.

image::images/contribute-web-dev.png["GitHub.dev web editor user interface]

== Prerequisites

* Logged in to GitHub
* Familiarity with Visual Studio Code editor
* Familiarity with Git

== Procedure

NOTE: The EKS Docs team has created a workspace file that includes suggested configurations for the editor, such as text wrapping and AsciiDoc syntax highlighting. We suggest you load this workspace file.

. Open the https://github.dev/awsdocs/amazon-eks-user-guide/blob/mainline/eks-docs.code-workspace?workspace=true[workspace] on GitHub.dev
** You can bookmark the URL `https://github.dev/awsdocs/amazon-eks-user-guide/blob/mainline/eks-docs.code-workspace?workspace=true`
. (First time setup only) You may be prompted to create a fork of the repo in your own GitHub account. Accept this prompt. For more information, see https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks[About forks] in the GitHub docs.
. (First time setup only) Accept the prompt in the bottom right to install the AsciiDoc extension.
. Navigate to the docs content at `latest/ug`
** Docs files are organized by their top level section. For example, pages in the "Security" chapter have source files under the "security/" directory.
. To view a preview of a docs page, use the *Open preview to the Side* button in the top right. The icon includes a small magnifying glass.
. Use the *Source Control* tab in the left to commit your changes. For more information, see the Visual Studio Code docs:
** https://code.visualstudio.com/docs/sourcecontrol/overview#_commit[Commit changes]
** https://code.visualstudio.com/docs/sourcecontrol/github#_creating-pull-requests[Create a pull request]

After you create a pull request, it will be reviewed by the docs team.
1 change: 1 addition & 0 deletions latest/ug/contribute/images
33 changes: 33 additions & 0 deletions latest/ug/contribute/insert-link.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[.topic]
[#insert-link]
= Insert a link
:info_titleabbrev: Insert link

AsciiDoc supports multiple types of links. Using the right link type is important so the link works properly in different environments.

== Link to a page or section in the EKS User Guide

Use cross references (xref) to link between pages/sections within the same documentation site, such as the EKS User Guide. They automatically update if the target section moves or is renamed.

=== Define custom link text

`xref` `:section-id[${link-text}]`

=== Use page title as link text

Use the section ID surrounded by angle brackets. For example `<<` `page-id>>`.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the section ID surrounded by angle brackets. For example <<page-id>>.


== Link to another page in the {aws} Docs

. Find the link to the {aws} Docs page
. Remove the `https://docs.aws.amazon.com/` prefix, keeping only the path. The path should start with an a-z character.
. Create a link as shown below

`link` `:AmazonS3/latest/userguide/create-bucket-overview.html["Create a bucket", type="documentation"]`

== Link out to the internet

This format creates a standard link out to the internet. Use this for Non-Amazon content or content on GitHub.

`link` `:https://example.com[Visit Example Site]`

40 changes: 40 additions & 0 deletions latest/ug/contribute/pr-preview.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[.topic]
[#pr-preview]
= View a preview of pull request content
:info_titleabbrev: View PR Preview

The EKS User Guide GitHub is configured to build and generate a preview of the docs site. This preview doesn't have the full {aws} theme, but it does check the content builds properly and links work.

image::images/contribute-preview.png["GitHub comment with preview URL"]

This preview is hosted at a temporary URL by {aws} Amplify.

== View Preview

When you submit a pull request, {aws} Amplify attempts to build and deploy a preview of the content.

If the build succeeds, *aws-amplify-us-east-1* comments the preview link on the pull request.

If the build fails, the repo admins can see the logs and provide feedback.

NOTE: If you haven't contributed before, a project maintainer may need to approve running the build.

== Preview limitations

The preview is built as a single large HTML file. It will be displayed as multiple pages when published.

*What works:*

* Cross references (`xref`)
* Links to the internet
* Images
* Content hosted from `samples/`

*What doesn't work:*

* Links to other {aws} content, links with `type="documentation"`.
** This content doesn't exist in the preview environment.
* The variable `aws` will not display properly. The value of this changes based on the environment.



Loading
Loading