Skip to content

Commit 3a1584b

Browse files
DOC-1652 - Prepare Network and other improvements for EKS Hybrid (#5984) (#6167)
* docs: update arch diagram for EKS Hybrid * docs: style packs table and remove underlines on cards DOC-1587 (#5833) * docs: style packs table and remove underlines on cards DOC-1587 * docs: change underline * docs: change underline * docs: change underline with different match * docs: change color of privacy icon * docs: add private registry for PXKE (#5736) * docs: add private registry for PXKE * docs: add private registry config * docs: fix syntax issue * Apply suggestions from code review Co-authored-by: Ben Radstone <[email protected]> * ci: auto-formatting prettier issues --------- Co-authored-by: Ben Radstone <[email protected]> * docs: improve arch network diagram * docs: prepare network template and diagram * docs: AWS Region updates * docs: on-prem examples of network config * docs: further updates * docs: fix newly broken MAAS doc links (#5852) * docs: fix newly broken MAAS doc links * ci: auto-formatting prettier issues * chore: add kapa branch (#4858) * feat: add kapa branch * docs: add kapa widget * docs: update logo * docs: add consent screen * docs: static script * docs: fix script issue * docs: change back to online loading for test * docs: cors anonymous * docs: revert back to lonline loading * Update docusaurus.config.js * Update docusaurus.config.js * Update docusaurus.config.js * docs: change source script location * ci: auto-formatting prettier issues * docs: change logos and theme colors DOC-1587 * docs: further styling * docs: style packs component * docs: style cve table * docs: style getting started cards * docs: change font * docs: adjust size of logo and points of interest * ci: auto-formatting prettier issues * Optimised images with calibre/image-actions * docs: style tooltips * docs: change color of privacy link * docs: update background color * docs: update styles * docs: remove tags from underlines * docs: fix navbar color and add 10% opacity to admonitions * docs: style as support chat * docs: style kapa * docs: adjust color * docs: edit eslint ignore * docs: fix eslint * docs: add disclaimer * docs: remove old logo * docs: add command to bring up chat * docs: add browser shortcut * docs: comment out shortcut script * docs: undo temporary netlify change * docs: add release notes snippets * docs: punctuation * docs: remove netlify changes * docs: keep favicon the same * Apply suggestions from code review Co-authored-by: Adelina Simion <[email protected]> --------- Co-authored-by: addetz <[email protected]> Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> * docs: add pxk-e non support (#5870) * docs: add pxk-e non support * Update docs/docs-content/release-notes/known-issues.md Co-authored-by: caroldelwing <[email protected]> --------- Co-authored-by: caroldelwing <[email protected]> * docs: add edge upgrade a/b partition behavior (#5878) * docs: add image * docs: convert image format * docs: fix typo * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * Apply suggestions from code review Co-authored-by: Amanda Churi Filanowski <[email protected]> --------- Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Co-authored-by: Amanda Churi Filanowski <[email protected]> * docs: parameterise release related file changes DOC-1651 (#5873) * docs: release scripts * docs: add utitlies functions and cleanup * docs: add compatibility matrix * docs: add templates file * docs: remove all quotes * docs: add tags to spectro registry file * docs: add registry params * docs: add registry * docs: rename template files * docs: adjust search on cli table match * docs: fix confusion * docs: adjust formatting * docs: add html references for install steps * docs: add registry reference * docs: adjust spacing on inserted snippets * docs: rename palette cli release variabales * docs: update install palette cli * docs: add kubernetes table tags * docs: add kubernetes version entries * docs: add pcg table tag * docs: add pcg file * docs: undo gitignore * docs: add new lines * docs: update readme with release updates DOC-1651 * docs: add env var checks to each script * docs: add list of modified files * Apply suggestions from code review Co-authored-by: caroldelwing <[email protected]> * ci: auto-formatting prettier issues --------- Co-authored-by: caroldelwing <[email protected]> * 2-26-25 security-content-updates (#5884) * 2-26-25 security-content-updates * ci: auto-formatting prettier issues * docs: change name of file and broken link * docs: add jpc logo --------- Co-authored-by: Adelina Simion <[email protected]> * docs: add release notes for patch 4.6.8 (#5885) * docs: add release notes for patch 4.6.8 * docs: update supplemental packs for release DOC-1697 * Updating release date --------- Co-authored-by: Amanda Churi Filanowski <[email protected]> * docs: fix admonition in prepare edge hosts (#5903) * docs: fix admonition in prepare edge hosts * docs: fix automatic number change * ci: auto-formatting prettier issues * chore: add quick keyboard shortcut to open kapa (#5876) * feat: add kapa branch * docs: add kapa widget * docs: update logo * docs: add consent screen * docs: static script * docs: fix script issue * docs: change back to online loading for test * docs: cors anonymous * docs: revert back to lonline loading * Update docusaurus.config.js * Update docusaurus.config.js * Update docusaurus.config.js * docs: change source script location * ci: auto-formatting prettier issues * docs: change logos and theme colors DOC-1587 * docs: further styling * docs: style packs component * docs: style cve table * docs: style getting started cards * docs: change font * docs: adjust size of logo and points of interest * ci: auto-formatting prettier issues * Optimised images with calibre/image-actions * docs: style tooltips * docs: change color of privacy link * docs: update background color * docs: update styles * docs: remove tags from underlines * docs: fix navbar color and add 10% opacity to admonitions * docs: style as support chat * docs: style kapa * docs: adjust color * docs: edit eslint ignore * docs: fix eslint * docs: add disclaimer * docs: remove old logo * docs: add command to bring up chat * docs: add browser shortcut * docs: comment out shortcut script * docs: undo temporary netlify change * docs: add release notes snippets * docs: punctuation * docs: remove netlify changes * docs: keep favicon the same * chore: add shortcut to open * docs: modify dialog location * docs: add keyboard shortcut --------- Co-authored-by: addetz <[email protected]> Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> * docs: add limitation to VM Migration Assistant for OVAs (#5922) * chore: Image commithook edit (#5914) * docs: test image convert * chore: add a text explanation * docs: fix fontawesome * chore: bump @fortawesome/fontawesome-svg-core from 6.6.0 to 6.7.2 (#5921) Bumps [@fortawesome/fontawesome-svg-core](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.2. - [Release notes](https://github.com/FortAwesome/Font-Awesome/releases) - [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md) - [Commits](FortAwesome/Font-Awesome@6.6.0...6.7.2) --- updated-dependencies: - dependency-name: "@fortawesome/fontawesome-svg-core" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: caroldelwing <[email protected]> * docs: add release notes for 4.6.9 DOC-1713 (#5933) * docs: add release notes for 4.6.9 DOC-1713 * Update docs/docs-content/release-notes/release-notes.md Co-authored-by: Amanda Churi Filanowski <[email protected]> * ci: auto-formatting prettier issues --------- Co-authored-by: Amanda Churi Filanowski <[email protected]> * chore: bump sigstore/cosign-installer from 3.7.0 to 3.8.1 (#5915) Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.7.0 to 3.8.1. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](sigstore/cosign-installer@v3.7.0...v3.8.1) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: caroldelwing <[email protected]> * docs: try fix (#5951) * docs: bump free-solid-svg-icons to 6.7.2 (#5959) * docs: bump free-solid-svg-icons to 6.7.2 * docs: add package.json file to test action * docs: PCP-4154: Autoscaler Cleanup for Backports (Excludes Azure IaaS) (#5925) * Initial commit for version 4.6.a * Initial commit for Azure IaaS autoscaler support + general autoscale cleanup for other infrastructures * Fixed broken link; performed general cleanup; clarified which packs do and do not support autoscaling * Making Getting Started content consistent * ci: auto-formatting prettier issues * Fixing typo * Removing Azure IaaS support for 4.0 - 4.6 branches while incorporating latest enhancements * ci: auto-formatting prettier issues * Incorporating suggestions from Carolina Co-authored-by: caroldelwing <[email protected]> * ci: auto-formatting prettier issues --------- Co-authored-by: achuribooks <[email protected]> Co-authored-by: caroldelwing <[email protected]> * docs: automate permissions update DOC 1613 (#5715) * chore: bump semver from 7.6.3 to 7.7.1 Bumps [semver](https://github.com/npm/node-semver) from 7.6.3 to 7.7.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](npm/node-semver@v7.6.3...v7.7.1) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * docs: add partials for AWS permissions * docs: add partials for azure permissions * docs: add required-permissions-data repo as a submodule * Revert "docs: add required-permissions-data repo as a submodule" This reverts commit 4f4a6e6. * chore: add permissions-sync script and ghA workflow * chore: add cd command * chore: debug ci * chore: debug ci * chore: debug ci * chore: debug ci * chore: debug ci * chore: debug ci * chore: add backport label logic * chore: fix grep label logic and add PR logic * chore: ad github token to pr step * chore: fix branch name * chore: update backport label logic * chore: create string of labels and add slack notifications * chore: add extra condition * chore: fix condition * chore: complete map file and improve comments * chore: remove push trigger * docs: test suggestions * docs: add vault token back * docs: apply suggestions from review * docs: move last update date to partials and do one last test * docs: final commit --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: DOC-1707: RHEL Credentials No Longer Needed for Airgap Envs with CAPI Version 4.6.0 (#5974) * Specifying RHEL creds no longer needed for CAPI image builder versions 4.6.0 and greater in airgap environments * ci: auto-formatting prettier issues * Incorporating suggestions from Carolina * ci: auto-formatting prettier issues --------- Co-authored-by: achuribooks <[email protected]> * docs: wrap up everything except inter-site connectivity * docs: initial on-prem inter-site connectivity docs * docs: inter-site connectivity updates * docs: inter-site connectivity draft almost complete * docs: some format changes * docs: final additions for inter-site connectivity * docs: resolve legitimate Vale comments * Optimised images with calibre/image-actions * docs: resolve final Vale comments * Optimised images with calibre/image-actions * Optimised images with calibre/image-actions * docs: address comment regarding step direction * docs: peer review suggestions Co-authored-by: Adelina Simion <[email protected]> Co-authored-by: caroldelwing <[email protected]> * docs: two missed suggestions Co-authored-by: caroldelwing <[email protected]> * ci: auto-formatting prettier issues * docs: addressing final peer comments * docs: header update for Prepare Network * Trigger workflow * docs: BGP on-prem explanation improvements * docs: fix description for edge host VPN server reasoning --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Adelina Simion <[email protected]> Co-authored-by: Lenny Chen <[email protected]> Co-authored-by: vault-token-factory-spectrocloud[bot] <133815545+vault-token-factory-spectrocloud[bot]@users.noreply.github.com> Co-authored-by: caroldelwing <[email protected]> Co-authored-by: Amanda Churi Filanowski <[email protected]> Co-authored-by: frederickjoi <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: achuribooks <[email protected]> (cherry picked from commit 4818e53) Co-authored-by: Ben Radstone <[email protected]>
1 parent 2ba96f4 commit 3a1584b

12 files changed

+1219
-178
lines changed

docs/docs-content/clusters/public-cloud/aws/eks-hybrid-nodes/architecture.md

Lines changed: 3 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -39,71 +39,8 @@ Transit Gateway and AWS Site-to-Site Virtual Private Network (VPN).
3939

4040
![Example Amazon EKS Hybrid Nodes network architecture](/aws_eks-hybrid_architecture_eks-hybrid-architecture.webp)
4141

42-
Hybrid network connectivity can be configured using a variety of methods, such as:
43-
44-
- [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
45-
- [AWS Direct Connect](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/aws-direct-connect.html)
46-
- [Software VPN](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/software-vpn.html)
47-
48-
Refer to
49-
[Network-to-Amazon VPC connectivity options](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)
50-
for guidance on all available options.
51-
52-
### Configuration Requirements
53-
54-
If using a VPN or AWS Direct Connect between AWS and your on-prem and edge environments, review the following
55-
configuration requirements.
56-
57-
#### AWS
58-
59-
<!-- Commented out until greenfield provisioning is available -->
60-
<!-- Configure your EKS cluster with static placement so that your nodes are assigned to specific Availability Zones (AZs)
61-
and fixed networking configurations. This is required because of the following reasons:
62-
63-
- The VPN configuration must be set up with predefined routes and IP ranges.
64-
- Node placement cannot change dynamically across AZs.
65-
- Network paths need to remain consistent for VPN tunnels to function properly. -->
66-
67-
Traffic routing in the Amazon EKS VPC requires the following mapping for hybrid nodes:
68-
69-
- Route table entries mapping hybrid node CIDR ranges to VPN endpoint.
70-
For example, Hybrid Node CIDR 10.200.0.0/16 → VPN endpoint 172.16.0.1.
71-
72-
- Route table entries mapping hybrid pod CIDR ranges to VPN endpoint.
73-
For example, Hybrid Pod CIDR 192.168.0.0/16 → VPN endpoint 172.16.0.1.
74-
75-
- For AWS Direct Connect, map traffic to appropriate private subnet CIDR.
76-
For example, both CIDRs 10.200.0.0/16 & 192.168.0.0/16 → Private subnet 172.16.1.0/24.
77-
78-
For AWS VPNs, configure two static routes for each of the following CIDRs:
79-
80-
- Hybrid Node CIDR block.
81-
For example, Hybrid Node CIDR 10.200.0.0/16 → VPN endpoint 172.16.0.1.
82-
83-
- Hybrid Pod CIDR block.
84-
For example, Hybrid Pod CIDR 192.168.0.0/16 → VPN endpoint 172.16.0.1.
85-
86-
If you're using a Virtual Private Gateway or Transit Gateway, route propagation can be enabled to automatically populate
87-
your VPC route tables. Ensure you verify your route tables after propagation.
88-
89-
#### On-Prem and Edge Locations
90-
91-
For on-prem and edge VPNs, set up IPsec Phase 1 tunnels with Phase 2 security associations for the following:
92-
93-
- Hybrid Node subnet to EKS VPC CIDR.
94-
For example, Hybrid Node subnet 10.201.0.0/16 → EKS VPC CIDR 10.100.0.0/16.
95-
96-
- Hybrid Node pod CIDR to EKS VPC CIDR.
97-
For example, Hybrid Node Pod CIDR 192.168.0.0/16 → EKS VPC CIDR 10.100.0.0/16.
98-
99-
You should also configure Border Gateway Protocol (BGP) or static routes on your on-prem or edge location router to
100-
ensure network traffic reaches the correct hybrid nodes. For static routing, this is explained in more detail during the
101-
[Configure Hybrid Node Networking for VPN Solutions](./create-hybrid-node-pools.md#configure-hybrid-node-networking-for-vpn-solutions)
102-
steps.
103-
104-
A route must exist to send all traffic destined for the Amazon EKS VPC through a centralized VPN gateway, or
105-
alternatively, a unique VPN server IP can be defined for each hybrid node during the
106-
[Create Hybrid Node Pool](./create-hybrid-node-pools.md#create-hybrid-node-pool) steps.
42+
Refer to [Prepare Network](./prepare-environment/prepare-network.md) for help configuring the network in your AWS
43+
region, on-prem/remote environment, and inter-site connectivity.
10744

10845
## Operating System Compatibility
10946

@@ -137,6 +74,7 @@ Palette supports the following authentication methods for your hybrid nodes:
13774
requiring a CA-signed certificate.
13875

13976
- [AWS Identity and Access Management (IAM) Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html)
77+
14078
- IAM Roles Anywhere is not supported on some operating systems. Refer to the
14179
[Operating system considerations](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-os.html#_operating_system_considerations)
14280
for up-to-date guidance.

docs/docs-content/clusters/public-cloud/aws/eks-hybrid-nodes/create-hybrid-node-pools.md

Lines changed: 123 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,9 @@ Your cluster profile for hybrid nodes is now created and can be used in the
138138
- A cluster profile created for your hybrid nodes. Refer to
139139
[Create Cluster Profile for Hybrid Node Pools](#create-cluster-profile-for-hybrid-node-pools) for steps.
140140

141-
- Verified network connectivity between your Amazon EKS cluster nodes and edge hosts.
141+
- Verified network connectivity between your Amazon EKS cluster nodes and edge hosts. Refer to
142+
[Prepare Network - Inter-Site Connectivity](./prepare-environment/prepare-network.md#inter-site-connectivity) for
143+
guidance.
142144

143145
- If using a VPN, confirm that both tunnels of the site-to-site VPN connection are active and operational.
144146

@@ -147,16 +149,76 @@ Your cluster profile for hybrid nodes is now created and can be used in the
147149

148150
<!-- prettier-ignore -->
149151
<details>
150-
<summary> Example ping command </summary>
152+
<summary> Example </summary>
151153

152-
```shell
153-
kubectl exec --stdin=true --tty=true <debugPodName> -- ping <edgeHostIpAddress>
154-
```
154+
1. Deploy a lightweight debug pod in your Amazon EKS cluster if one does not exist.
155+
156+
The following example command creates a pod named `debug-pod` using the Busybox image, which includes basic
157+
networking utilities. The pod will stay alive for 1 hour (3600 seconds).
158+
159+
```shell
160+
export POD=debug-pod
161+
kubectl run "$POD" --image=busybox --restart=Never -- sleep 3600
162+
```
163+
164+
2. From the debug pod in your Amazon EKS cluster, attempt to reach an active hybrid node.
165+
166+
Replace `<hybridNodeIp>` with an IP address from an active hybrid node.
167+
168+
```shell
169+
kubectl exec --stdin --tty "$POD" -- ping <hybridNodeIp>
170+
```
171+
172+
3. Check that the ping statistics from the output show a healthy connection.
173+
174+
Example healthy output.
175+
176+
```shell hideClipboard
177+
PING 10.200.1.23 (10.200.1.23): 56 data bytes
178+
64 bytes from 10.200.1.23: icmp_seq=1 ttl=63 time=28.382 ms
179+
64 bytes from 10.200.1.23: icmp_seq=2 ttl=63 time=27.359 ms
180+
64 bytes from 10.200.1.23: icmp_seq=3 ttl=63 time=29.412 ms
181+
64 bytes from 10.200.1.23: icmp_seq=4 ttl=63 time=30.345 ms
182+
183+
--- 10.200.1.23 ping statistics ---
184+
4 packets transmitted, 4 packets received, 0% packet loss
185+
round-trip min/avg/max/stddev = 27.359/28.875/30.345/1.091 ms
186+
```
155187

156188
</details>
157189

158-
- Verify that your edge hosts can successfully ping the private IP address of an EC2 instance within the Amazon EKS
159-
cluster's VPC.
190+
- Verify that your edge hosts can successfully ping the private IP address of your AWS VPC gateway or an AWS worker
191+
node within the Amazon EKS cluster's VPC.
192+
193+
<!-- prettier-ignore -->
194+
<details>
195+
<summary> Example </summary>
196+
197+
1. From an edge host in your on-prem environment, attempt to reach your AWS VPC gateway or an AWS worker node.
198+
199+
Replace `<awsGatewayOrNode>` with the IP address of your AWS VPC gateway or AWS worker node, for example,
200+
`10.100.0.1` or `10.100.0.27`.
201+
202+
```shell
203+
ping <awsGatewayOrNode>
204+
```
205+
206+
2. Check that the ping statistics from the output show a healthy connection.
207+
208+
Example healthy output.
209+
210+
```shell hideClipboard
211+
PING 10.100.0.1 (10.100.0.1) 56(84) bytes of data.
212+
64 bytes from 10.100.0.1: icmp_seq=1 ttl=64 time=27.5 ms
213+
64 bytes from 10.100.0.1: icmp_seq=2 ttl=64 time=28.2 ms
214+
64 bytes from 10.100.0.1: icmp_seq=3 ttl=64 time=29.1 ms
215+
64 bytes from 10.100.0.1: icmp_seq=4 ttl=64 time=27.9 ms
216+
--- 10.100.0.1 ping statistics ---
217+
4 packets transmitted, 4 received, 0% packet loss, time 3999ms
218+
rtt min/avg/max/mdev = 27.5/28.2/29.1/0.6 ms
219+
```
220+
221+
</details>
160222

161223
### Create Node Pool
162224

@@ -221,7 +283,7 @@ nodes. Before proceeding, consider the following points:
221283
- This guide is specifically for VPN solutions that support and require manual static route configuration. If your VPN
222284
uses a different routing mechanism, these steps may not apply.
223285

224-
- If your VPN supports BGP (Border Gateway Protocol), you may be able to skip manual route configuration entirely. BGP
286+
- If your VPN supports Border Gateway Protocol (BGP), you may be able to skip manual route configuration entirely. BGP
225287
can automatically advertise and update routes between your cluster and VPN. Check your VPN documentation for BGP
226288
neighbor configuration and route import procedures.
227289

@@ -246,7 +308,7 @@ nodes. Before proceeding, consider the following points:
246308

247309
- Access to your VPN configuration interface.
248310

249-
### Configure Networking
311+
### Configure VPN Networking
250312

251313
1. Issue the following kubectl command to list all CiliumNode resources in your cluster.
252314

@@ -259,7 +321,7 @@ nodes. Before proceeding, consider the following points:
259321
```shell hideClipboard
260322
NAME CILIUMINTERNALIP INTERNALIP AGE
261323
edge-abc123def4567890example1 192.168.5.101 10.200.1.23 2h
262-
edge-xyz987uvw6543210example2 192.168.6.102 10.200.2.34 3h
324+
edge-xyz987uvw6543210example2 192.168.6.102 10.200.0.34 3h
263325
```
264326

265327
2. For each hybrid node, retrieve the `spec.ipam.podCIDRs` field to find the CIDR block allocated for pods active on
@@ -284,40 +346,74 @@ nodes. Before proceeding, consider the following points:
284346

285347
4. For each hybrid node, add the following entries.
286348

287-
| **Field** | **Description** | **Example** |
288-
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------ |
289-
| **Destination** | Use the `podCIDRs` value for the hybrid node discovered in step 2. | `192.168.4.128/25` |
290-
| **Next Hop / Gateway** | Specify the IP address of the hybrid node as listed in the CiliumNode resource under `internalIP` discovered in step 1. | `192.168.5.101` |
349+
| **Field** | **Description** | **Example** |
350+
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------- |
351+
| **Destination** | Use the `podCIDRs` value for the hybrid node discovered in step 2. | `192.168.5.0/25` |
352+
| **Next Hop / Gateway** | Specify the IP address of the hybrid node as listed in the CiliumNode resource under `internalIP` discovered in step 1. | `10.200.1.23` |
291353

292354
5. Ensure the routes are saved and applied. The process varies depending on the VPN solution.
293355

294356
### Validate
295357

296-
1. From a pod in your Amazon EKS cluster, attempt to reach an active pod on a hybrid node.
358+
1. Deploy a lightweight debug pod in your Amazon EKS cluster if one does not exist.
359+
360+
The following example command creates a pod named `debug-pod` using the Busybox image, which includes basic
361+
networking utilities. The pod will stay alive for 1 hour (3600 seconds).
362+
363+
```shell
364+
export POD=debug-pod
365+
kubectl run "$POD" --image=busybox --restart=Never -- sleep 3600
366+
```
367+
368+
2. From the debug pod in your Amazon EKS cluster, attempt to reach an active hybrid node.
297369

298-
Replace `<podName>` with a pod in your Amazon EKS cluster and `<hybridPodIp>` with an IP address from an active pod
299-
on a hybrid node.
370+
Replace `<hybridNodeIp>` with an IP address from an active hybrid node.
300371

301372
```shell
302-
kubectl exec --interactive --tty <podName> -- ping <hybridPodIp>
373+
kubectl exec --stdin --tty "$POD" -- ping <hybridNodeIp>
303374
```
304375

305-
2. Check that the ping statistics from the output show a healthy connection.
376+
3. Check that the ping statistics from the output show a healthy connection.
306377

307378
Example healthy output.
308379

309380
```shell hideClipboard
310-
PING 192.168.5.10 (192.168.5.10): 56 data bytes
311-
64 bytes from 192.168.5.10: icmp_seq=1 ttl=63 time=28.382 ms
312-
64 bytes from 192.168.5.10: icmp_seq=2 ttl=63 time=27.359 ms
313-
64 bytes from 192.168.5.10: icmp_seq=3 ttl=63 time=29.412 ms
314-
64 bytes from 192.168.5.10: icmp_seq=4 ttl=63 time=30.345 ms
381+
PING 10.200.1.23 (10.200.1.23): 56 data bytes
382+
64 bytes from 10.200.1.23: icmp_seq=1 ttl=63 time=28.382 ms
383+
64 bytes from 10.200.1.23: icmp_seq=2 ttl=63 time=27.359 ms
384+
64 bytes from 10.200.1.23: icmp_seq=3 ttl=63 time=29.412 ms
385+
64 bytes from 10.200.1.23: icmp_seq=4 ttl=63 time=30.345 ms
315386
316-
--- 192.168.5.10 ping statistics ---
387+
--- 10.200.1.23 ping statistics ---
317388
4 packets transmitted, 4 packets received, 0% packet loss
318389
round-trip min/avg/max/stddev = 27.359/28.875/30.345/1.091 ms
319390
```
320391

392+
4. From an edge host in your on-prem environment, attempt to reach your AWS VPC gateway or an AWS worker node within the
393+
Amazon EKS cluster's VPC.
394+
395+
Replace `<awsGatewayOrNode>` with the IP address of your AWS VPC gateway or AWS worker node, for example,
396+
`10.100.0.1` or `10.100.0.27`.
397+
398+
```shell
399+
ping <awsGatewayOrNode>
400+
```
401+
402+
5. Check that the ping statistics from the output show a healthy connection.
403+
404+
Example healthy output.
405+
406+
```shell hideClipboard
407+
PING 10.100.0.1 (10.100.0.1) 56(84) bytes of data.
408+
64 bytes from 10.100.0.1: icmp_seq=1 ttl=64 time=27.5 ms
409+
64 bytes from 10.100.0.1: icmp_seq=2 ttl=64 time=28.2 ms
410+
64 bytes from 10.100.0.1: icmp_seq=3 ttl=64 time=29.1 ms
411+
64 bytes from 10.100.0.1: icmp_seq=4 ttl=64 time=27.9 ms
412+
--- 10.100.0.1 ping statistics ---
413+
4 packets transmitted, 4 received, 0% packet loss, time 3999ms
414+
rtt min/avg/max/mdev = 27.5/28.2/29.1/0.6 ms
415+
```
416+
321417
## When to Manually Repave Hybrid Node Pools
322418

323419
Your hybrid node pools require manual repaving in these scenarios:
@@ -401,13 +497,9 @@ take effect, while restoring your nodes to the desired configuration.
401497

402498
## Resources
403499

404-
- [Agent Mode](../../../../deployment-modes/agent-mode/agent-mode.md)
405-
406-
- [Appliance Mode](../../../../deployment-modes/appliance-mode.md)
407-
408-
- [EdgeForge Workflow](../../../edge/edgeforge-workflow/edgeforge-workflow.md)
500+
- [Prepare Edge Hosts](./prepare-environment/prepare-edge-hosts.md)
409501

410-
- [Build Provider Images](../../../edge/edgeforge-workflow/palette-canvos/build-provider-images.md)
502+
- [Prepare Network](./prepare-environment/prepare-network.md)
411503

412504
- [Worker Node Pool](../../../cluster-management/node-pool.md#worker-node-pool)
413505

docs/docs-content/clusters/public-cloud/aws/eks-hybrid-nodes/eks-hybrid-nodes.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ To learn more about Palette and Amazon EKS Hybrid Nodes, check out the following
2929

3030
- [Architecture](./architecture.md)
3131

32+
- [Prepare Environment](./prepare-environment/prepare-environment.md)
33+
3234
- [Import EKS Cluster and Enable Hybrid Mode](./import-eks-cluster-enable-hybrid-mode.md)
3335

3436
- [Create Hybrid Node Pools](./create-hybrid-node-pools.md)

docs/docs-content/clusters/public-cloud/aws/eks-hybrid-nodes/import-eks-cluster-enable-hybrid-mode.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,9 @@ Import your Amazon EKS cluster and enable hybrid mode to be able to create edge
3737
[Cluster Profile](../../../../user-management/palette-rbac/project-scope-roles-permissions.md#cluster-profile)
3838
permissions for guidance.
3939

40-
- Ensure your environment has network access to Palette SaaS. Refer to
41-
[Palette IP Addresses](../../../../architecture/palette-public-ips.md) for guidance.
42-
43-
- Ensure [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed and available in your local workstation.
44-
45-
- Access to your Amazon EKS cluster through kubectl.
46-
47-
- To access your cluster with kubectl, you can use the AWS CLI's built-in authentication capabilities. If you are
48-
using a custom OpenID Connect (OIDC) provider, you will need to configure your kubeconfig to use your OIDC provider.
49-
50-
Refer to the [Access Imported Cluster with Kubectl](#access-imported-cluster-with-kubectl) section for more
51-
information.
52-
5340
- All networking prerequisites completed for hybrid nodes. Refer to
54-
[Prepare networking for hybrid nodes](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-networking.html)
55-
for guidance. You will need to provide the following details during the import steps:
41+
[Prepare Network](./prepare-environment/prepare-network.md) for guidance. You will need to provide the following
42+
details during the import steps:
5643

5744
- The Virtual Private Cloud (VPC) Classless Inter-Domain Routing (CIDR) range where your EKS cluster resides.
5845
- The CIDR ranges for hybrid nodes in other networks that need to connect to this cluster.
@@ -62,7 +49,7 @@ Import your Amazon EKS cluster and enable hybrid mode to be able to create edge
6249
[Prepare credentials for hybrid nodes](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-creds.html) for
6350
guidance.
6451

65-
If you are using Systems Manager, you will need to provide the following details during the import steps:
52+
If you are using AWS Systems Manager, you will need to provide the following details during the import steps:
6653

6754
- The Activation ID assigned by AWS Systems Manager when creating an activation. This ID is used to associate hybrid
6855
nodes with your AWS account in Systems Manager.
@@ -72,7 +59,7 @@ Import your Amazon EKS cluster and enable hybrid mode to be able to create edge
7259
[Hybrid Nodes IAM Role](https://docs.aws.amazon.com/eks/latest/userguide/hybrid-nodes-creds.html#_hybrid_nodes_iam_role)
7360
created for AWS SSM hybrid activations.
7461

75-
If you are using IAM Roles Anywhere, you will need to provide the following details during the import steps:
62+
If you are using AWS IAM Roles Anywhere, you will need to provide the following details during the import steps:
7663

7764
- The Amazon Resource Name (ARN) of the IAM Roles Anywhere profile that defines which roles can be assumed by hybrid
7865
nodes.
@@ -88,6 +75,16 @@ Import your Amazon EKS cluster and enable hybrid mode to be able to create edge
8875
- An existing Amazon EKS cluster that has configured with the appropriate parameters to be imported into Palette. Refer
8976
to [Prepare EKS Cluster](./prepare-environment/prepare-eks-cluster.md) for guidance.
9077

78+
- Ensure [kubectl](https://kubernetes.io/docs/tasks/tools/) is installed and available in your local workstation.
79+
80+
- Access to your Amazon EKS cluster through kubectl.
81+
82+
- To access your cluster with kubectl, you can use the AWS CLI built-in authentication capabilities. If you are using
83+
a custom OpenID Connect (OIDC) provider, you will need to configure your kubeconfig to use your OIDC provider.
84+
85+
Refer to the [Access Imported Cluster with Kubectl](#access-imported-cluster-with-kubectl) section for more
86+
information.
87+
9188
### Import Cluster
9289

9390
1. Log in to [Palette](https://console.spectrocloud.com/).
@@ -517,7 +514,7 @@ Learn how to create a hybrid node pool on your cluster and add your edge hosts t
517514
518515
- [Add AWS Account](../add-aws-accounts.md)
519516
520-
- [Palette IP Addresses](../../../../architecture/palette-public-ips.md)
517+
- [Prepare Environment](./prepare-environment/prepare-environment.md)
521518
522519
- [Create Role Bindings](../../../cluster-management/cluster-rbac.md#create-role-bindings)
523520

0 commit comments

Comments
 (0)