Skip to content

Commit 28f320c

Browse files
bleggettcraigboxdhawton
authored
Add more detail to the EKS workaround (#15785)
* Add more detail to the EKS workaround Signed-off-by: Benjamin Leggett <[email protected]> * Fixup Signed-off-by: Benjamin Leggett <[email protected]> * Fixup more Signed-off-by: Benjamin Leggett <[email protected]> * Update content/en/docs/ambient/install/platform-prerequisites/index.md Co-authored-by: Craig Box <[email protected]> * Update content/en/docs/ambient/install/platform-prerequisites/index.md Co-authored-by: Craig Box <[email protected]> * okay look, strictly speaking based on how the alphabet works the linter is correct here Signed-off-by: Benjamin Leggett <[email protected]> * Update content/en/docs/ambient/install/platform-prerequisites/index.md Co-authored-by: Daniel Hawton <[email protected]> --------- Signed-off-by: Benjamin Leggett <[email protected]> Co-authored-by: Craig Box <[email protected]> Co-authored-by: Daniel Hawton <[email protected]>
1 parent 3fa68e7 commit 28f320c

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

.spelling

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,8 @@ sds
10551055
Searcy
10561056
Secura
10571057
SecurityCon
1058+
SecurityGroupPolicy
1059+
SecurityGroups
10581060
security_bulletin
10591061
selinux
10601062
serverless

content/en/docs/ambient/install/platform-prerequisites/index.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,31 @@ spec:
4141

4242
### Amazon Elastic Kubernetes Service (EKS)
4343

44-
If you are using EKS with Amazon's VPC CNI **enabled**, [`POD_SECURITY_GROUP_ENFORCING_MODE` must be explicitly set to `standard`](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/README.md#pod_security_group_enforcing_mode-v1110), or pod health probes (which are by-default silently exempted from all policy enforcement by AWS VPC CNI) will fail. This is because Istio uses a link-local SNAT address for kubelet health probes, which AWS VPC CNI is not aware of, and AWS VPC CNI does not have an option to exempt link-local addresses from policy enforcement.
44+
If you are using EKS:
45+
46+
- with Amazon's VPC CNI
47+
- with Pod ENI trunking enabled
48+
- **and** you are using EKS pod-attached SecurityGroups via [SecurityGroupPolicy](https://aws.github.io/aws-eks-best-practices/networking/sgpp/#enforcing-mode-use-strict-mode-for-isolating-pod-and-node-traffic)
49+
50+
[`POD_SECURITY_GROUP_ENFORCING_MODE` must be explicitly set to `standard`](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/README.md#pod_security_group_enforcing_mode-v1110), or pod health probes (which are by-default silently exempted from all policy enforcement by the VPC CNI) will fail. This is because Istio uses a link-local SNAT address for kubelet health probes, which Amazon's VPC CNI is not aware of, and the VPC CNI does not have an option to exempt link-local addresses from policy enforcement.
51+
52+
You can check if you have pod ENI trunking enabled by running the following command:
53+
54+
{{< text syntax=bash >}}
55+
$ kubectl set env daemonset aws-node -n kube-system --list | grep ENABLE_POD_ENI
56+
{{< /text >}}
57+
58+
You can check if you have any pod-attached security groups in your cluster by running the following command:
59+
60+
{{< text syntax=bash >}}
61+
$ kubectl get securitygrouppolicies.vpcresources.k8s.aws
62+
{{< /text >}}
63+
64+
You can set `POD_SECURITY_GROUP_ENFORCING_MODE=standard` by running the following command, and recycling affected pods:
65+
66+
{{< text syntax=bash >}}
67+
$ kubectl set env daemonset aws-node -n kube-system POD_SECURITY_GROUP_ENFORCING_MODE=standard
68+
{{< /text >}}
4569

4670
### k3d
4771

0 commit comments

Comments
 (0)