Skip to content

Commit af7cc77

Browse files
ysdongAmazonBennettJamesBennett Salabendu
authored
Update patching branch to same height as master (#749)
* Update README.md for private cluster instruction (#743) * Fix prod release action. Some regions were accidentally deleted (#744) Co-authored-by: Bennett Sala <[email protected]> * Update test docker image URIs (#745) * Update README.md for Xray private cluster instruction (#746) * Update README.md for private cluster instruction * Update README.md for xray setting in private cluster * Rehome remaining ecr public images (#747) --------- Co-authored-by: BennettJames <[email protected]> Co-authored-by: Bennett Sala <[email protected]> Co-authored-by: Ben Du <[email protected]>
1 parent c992c69 commit af7cc77

File tree

9 files changed

+155
-27
lines changed

9 files changed

+155
-27
lines changed

.github/workflows/prod-release.yaml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,97 @@ jobs:
3737
docker pull "${SRC}-linux_amd64"
3838
docker pull "${SRC}-linux_arm64"
3939
40+
- name: Deploy Images To ECR Public
41+
uses: ./.github/actions/push-image
42+
with:
43+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
44+
dst_host: "public.ecr.aws"
45+
image_tag: "${{ github.event.inputs.tag }}"
46+
dst_image_name: "appmesh/appmesh-controller"
47+
region: "us-west-2"
48+
role: "${{ secrets.PROD_AWS_ROLE }}"
49+
50+
- name: Deploy Images to PDX
51+
uses: ./.github/actions/push-image
52+
with:
53+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
54+
dst_host: "${{ secrets.PROD_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
55+
image_tag: "${{ github.event.inputs.tag }}"
56+
region: "us-west-2"
57+
role: "${{ secrets.PROD_AWS_ROLE }}"
58+
59+
- name: Deploy Images to BAH
60+
uses: ./.github/actions/push-image
61+
with:
62+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
63+
dst_host: "${{ secrets.PROD_BAH_AWS_ACCOUNT }}.dkr.ecr.me-south-1.amazonaws.com"
64+
image_tag: "${{ github.event.inputs.tag }}"
65+
region: "me-south-1"
66+
role: "${{ secrets.PROD_BAH_AWS_ROLE }}"
67+
68+
- name: Deploy Images to CPT
69+
uses: ./.github/actions/push-image
70+
with:
71+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
72+
dst_host: "${{ secrets.PROD_CPT_AWS_ACCOUNT }}.dkr.ecr.af-south-1.amazonaws.com"
73+
image_tag: "${{ github.event.inputs.tag }}"
74+
region: "af-south-1"
75+
role: "${{ secrets.PROD_CPT_AWS_ROLE }}"
76+
77+
- name: Deploy Images to HKG
78+
uses: ./.github/actions/push-image
79+
with:
80+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
81+
dst_host: "${{ secrets.PROD_HKG_AWS_ACCOUNT }}.dkr.ecr.ap-east-1.amazonaws.com"
82+
image_tag: "${{ github.event.inputs.tag }}"
83+
region: "ap-east-1"
84+
role: "${{ secrets.PROD_HKG_AWS_ROLE }}"
85+
86+
- name: Deploy Images to MXP
87+
uses: ./.github/actions/push-image
88+
with:
89+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
90+
dst_host: "${{ secrets.PROD_MXP_AWS_ACCOUNT }}.dkr.ecr.eu-south-1.amazonaws.com"
91+
image_tag: "${{ github.event.inputs.tag }}"
92+
region: "eu-south-1"
93+
role: "${{ secrets.PROD_MXP_AWS_ROLE }}"
94+
95+
- name: Deploy Images to CGK
96+
uses: ./.github/actions/push-image
97+
with:
98+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
99+
dst_host: "${{ secrets.PROD_CGK_AWS_ACCOUNT }}.dkr.ecr.ap-southeast-3.amazonaws.com"
100+
image_tag: "${{ github.event.inputs.tag }}"
101+
region: "ap-southeast-3"
102+
role: "${{ secrets.PROD_CGK_AWS_ROLE }}"
103+
104+
- name: Deploy Images to BJS
105+
uses: ./.github/actions/push-image
106+
with:
107+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
108+
dst_host: "${{ secrets.PROD_BJS_AWS_ACCOUNT }}.dkr.ecr.cn-north-1.amazonaws.com.cn"
109+
image_tag: "${{ github.event.inputs.tag }}"
110+
region: "cn-north-1"
111+
role: "${{ secrets.PROD_BJS_AWS_ROLE }}"
112+
113+
- name: Deploy Images to ZHY
114+
uses: ./.github/actions/push-image
115+
with:
116+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
117+
dst_host: "${{ secrets.PROD_ZHY_AWS_ACCOUNT }}.dkr.ecr.cn-northwest-1.amazonaws.com.cn"
118+
image_tag: "${{ github.event.inputs.tag }}"
119+
region: "cn-northwest-1"
120+
role: "${{ secrets.PROD_ZHY_AWS_ROLE }}"
121+
122+
- name: Deploy Images to TLV
123+
uses: ./.github/actions/push-image
124+
with:
125+
src_host: "${{ secrets.BETA_AWS_ACCOUNT }}.dkr.ecr.us-west-2.amazonaws.com"
126+
dst_host: "${{ secrets.PROD_TLV_AWS_ACCOUNT }}.dkr.ecr.il-central-1.amazonaws.com"
127+
image_tag: "${{ github.event.inputs.tag }}"
128+
region: "il-central-1"
129+
role: "${{ secrets.PROD_TLV_AWS_ROLE }}"
130+
40131
- name: Deploy Images to PDT
41132
uses: ./.github/actions/push-image
42133
with:

config/helm/appmesh-controller/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,25 @@ helm upgrade -i appmesh-controller eks/appmesh-controller \
9090

9191
The [configuration](#configuration) section lists the parameters that can be configured during installation.
9292

93+
**Note**
94+
If you want to start the controller in the EKS private cluster, enable the app mesh and service discovery VPC endpoints to the linked private subnet first. Also accountId is a required field now as `--set accountId=$AWS_ACCOUNT_ID`.
95+
If you want to enable X-ray tracing in private cluster, enable the X-ray VPC endpoint. Also, ECR VPC endpoint [does not support public repository](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html). Controller uses `public.ecr.aws/xray/aws-xray-daemon:latest` by default, so you need to pull this image to local and [push it into your personal ECR repository](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html). Set it when deploying the controller like:
96+
```
97+
helm upgrade -i appmesh-controller eks/appmesh-controller \
98+
--namespace appmesh-system \
99+
--set region=$AWS_REGION \
100+
--set serviceAccount.create=false \
101+
--set serviceAccount.name=appmesh-controller \
102+
--set accountId=$AWS_ACCOUNT_ID \
103+
--set log.level=debug \
104+
--set tracing.enabled=true \
105+
--set tracing.provider=x-ray \
106+
--set xray.image.repository={your-account-id}.dkr.ecr.{your-region}.amazonaws.com/{your-repository} \
107+
--set xray.image.tag={your-xray-daemon-image-tag}
108+
```
109+
Verify if the X-ray daemon being injected successfully when binding application deployment with virtual node/gateway.
110+
More troubleshooting please see: https://docs.aws.amazon.com/eks/latest/userguide/private-clusters.html
111+
93112
**Note**
94113
Make sure that the Envoy proxies have the following IAM policies attached for the Envoy to authenticate with AWS App Mesh and fetch it's configuration
95114
- https://raw.githubusercontent.com/aws/aws-app-mesh-controller-for-k8s/master/config/iam/envoy-iam-policy.json

test/e2e/fishapp/dynamic_stack.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,22 @@ const (
4242
connectivityCheckUniformDistributionSL = 0.001 // Significance level that traffic to targets are uniform distributed.
4343
AppContainerPort = 9080
4444
HttpProxyContainerPort = 8899
45-
defaultAppImage = "public.ecr.aws/e6v3k1j4/colorteller:v1"
46-
defaultHTTPProxyImage = "abhinavsingh/proxy.py:latest"
47-
caCertScript = "certs/ca_certs.sh"
48-
nodeCertScript = "certs/node_certs.sh"
49-
genericNodeCertCfgFile = "certs/node_cert.cfg"
50-
certsBasePath = "certs/"
51-
certsCfgFileSuffix = "_cert.cfg"
52-
certChainSuffix = "_cert_chain.pem"
53-
certKeySuffix = "_key.pem"
54-
caCertFile = "ca_cert.pem"
55-
envoyCACertPath = "/certs/ca_cert.pem"
56-
certCleanupScript = "certs/cleanup.sh"
57-
sdsDeployScript = "certs/sds_provider.sh"
58-
registerAgentIdentity = "certs/register_agent_entry.sh"
59-
registerWorkloadIdentity = "certs/register_workload_entry.sh"
45+
// From https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp/src/colorteller
46+
defaultAppImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:colorteller"
47+
defaultHTTPProxyImage = "abhinavsingh/proxy.py:latest"
48+
caCertScript = "certs/ca_certs.sh"
49+
nodeCertScript = "certs/node_certs.sh"
50+
genericNodeCertCfgFile = "certs/node_cert.cfg"
51+
certsBasePath = "certs/"
52+
certsCfgFileSuffix = "_cert.cfg"
53+
certChainSuffix = "_cert_chain.pem"
54+
certKeySuffix = "_key.pem"
55+
caCertFile = "ca_cert.pem"
56+
envoyCACertPath = "/certs/ca_cert.pem"
57+
certCleanupScript = "certs/cleanup.sh"
58+
sdsDeployScript = "certs/sds_provider.sh"
59+
registerAgentIdentity = "certs/register_agent_entry.sh"
60+
registerWorkloadIdentity = "certs/register_workload_entry.sh"
6061
)
6162

6263
var (

test/e2e/fishapp/load/dynamic_stack_load_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ const (
4545
connectivityCheckUniformDistributionSL = 0.001 // Significance level that traffic to targets are uniform distributed.
4646
AppContainerPort = 9080
4747
HttpProxyContainerPort = 8899
48-
//defaultAppImage = "public.ecr.aws/e6v3k1j4/colorteller:v1"
48+
// From https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp/src/colorteller
49+
//defaultAppImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:colorteller"
4950
defaultAppImage = "python:3.9"
5051
defaultHTTPProxyImage = "abhinavsingh/proxy.py:latest"
5152
caCertScript = "certs/ca_certs.sh"

test/integration/sidecar-v1.22/sidecar_stack.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package sidecar_v1_22
33
import (
44
"context"
55
"fmt"
6+
67
"github.com/aws/aws-app-mesh-controller-for-k8s/pkg/inject"
78

89
appmesh "github.com/aws/aws-app-mesh-controller-for-k8s/apis/appmesh/v1beta2"
@@ -17,7 +18,8 @@ import (
1718
)
1819

1920
const (
20-
defaultImage = "public.ecr.aws/b7m0w2t6/color-be-app:2.0.2"
21+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/sidecar-backend
22+
defaultImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:color-be-app"
2123
)
2224

2325
type SidecarStack struct {

test/integration/sidecar/sidecar_stack.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ package sidecar
33
import (
44
"context"
55
"fmt"
6-
"github.com/aws/aws-app-mesh-controller-for-k8s/pkg/inject"
76
"time"
87

8+
"github.com/aws/aws-app-mesh-controller-for-k8s/pkg/inject"
9+
910
appmesh "github.com/aws/aws-app-mesh-controller-for-k8s/apis/appmesh/v1beta2"
1011
"github.com/aws/aws-app-mesh-controller-for-k8s/test/framework"
1112
"github.com/aws/aws-sdk-go/aws"
@@ -22,8 +23,11 @@ import (
2223
)
2324

2425
const (
25-
defaultFrontendImage = "public.ecr.aws/b7m0w2t6/color-fe-app:2.0.3"
26-
defaultBackendImage = "public.ecr.aws/b7m0w2t6/color-be-app:2.0.2"
26+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/sidecar-frontend
27+
defaultFrontendImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:color-fe-app"
28+
29+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/sidecar-backend
30+
defaultBackendImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:color-be-app"
2731
)
2832

2933
type SidecarStack struct {

test/integration/timeout/timeout_stack.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ import (
2828
const (
2929
//If you're not able to access below images, try to build them based on the app code under "timeout_app"
3030
//directory and push it to any accessible ECR repo and update the below values
31-
defaultFrontEndImage = "public.ecr.aws/e6v3k1j4/appmesh-test-feapp:v1"
32-
defaultBackEndImage = "public.ecr.aws/e6v3k1j4/appmesh-test-beapp:v1"
31+
32+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/frontend
33+
defaultFrontEndImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:testapp-frontend"
34+
35+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/backend
36+
defaultBackEndImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:testapp-backend"
3337

3438
timeoutTest = "timeout-e2e"
3539
AppContainerPort = 8080

test/integration/tls/tls_stack.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,12 @@ import (
3131
const (
3232
//If you're not able to access below images, try to build them based on the app code under "timeout_app"
3333
//directory and push it to any accessible ECR repo and update the below values
34-
defaultFrontEndImage = "public.ecr.aws/e6v3k1j4/appmesh-test-feapp:v1"
35-
defaultBackEndImage = "public.ecr.aws/e6v3k1j4/appmesh-test-beapp:v1"
34+
35+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/frontend
36+
defaultFrontEndImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:testapp-frontend"
37+
38+
// From https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/test/integration/test_app/backend
39+
defaultBackEndImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:testapp-backend"
3640

3741
tlsTest = "tls-e2e"
3842
AppContainerPort = 8080

test/integration/virtualnode/virtualnode_test.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package virtualnode_test
33
import (
44
"context"
55
"fmt"
6+
"sync"
7+
"time"
8+
69
appmeshk8s "github.com/aws/aws-app-mesh-controller-for-k8s/pkg/k8s"
710
"github.com/aws/aws-app-mesh-controller-for-k8s/test/framework/k8s"
811
"github.com/aws/aws-sdk-go/aws"
@@ -15,8 +18,6 @@ import (
1518
apierrs "k8s.io/apimachinery/pkg/api/errors"
1619
"k8s.io/apimachinery/pkg/types"
1720
"k8s.io/client-go/kubernetes"
18-
"sync"
19-
"time"
2021

2122
appmesh "github.com/aws/aws-app-mesh-controller-for-k8s/apis/appmesh/v1beta2"
2223
"github.com/aws/aws-app-mesh-controller-for-k8s/pkg/algorithm"
@@ -31,7 +32,8 @@ import (
3132
)
3233

3334
const (
34-
defaultAppImage = "public.ecr.aws/e6v3k1j4/colorteller:v1"
35+
// From https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp/src/colorteller
36+
defaultAppImage = "public.ecr.aws/e4i4k4a4/appmesh-k8s-test:colorteller"
3537
AppContainerPort = 8080
3638
)
3739

0 commit comments

Comments
 (0)