-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Test Samples Workflow - Set up Test EKS Cluster for Dapr #2013
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -111,18 +111,11 @@ jobs: | |
RUN_TEST=true | ||
fi | ||
|
||
if [[ "${{ matrix.enableDapr }}" == "true" ]]; then | ||
ENABLE_DAPR=true | ||
else | ||
ENABLE_DAPR=false | ||
fi | ||
|
||
# Set output variables to be used in the other jobs | ||
echo "RUN_IDENTIFIER=${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT | ||
echo "TEST_AZURE_RESOURCE_GROUP=rg-${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT | ||
echo "TEST_EKS_CLUSTER_NAME=eks-${RUN_IDENTIFIER}" >> $GITHUB_OUTPUT | ||
echo "RUN_TEST=${RUN_TEST}" >> $GITHUB_OUTPUT | ||
echo "ENABLE_DAPR=${ENABLE_DAPR}" >> $GITHUB_OUTPUT | ||
- name: Generate Radius version variables | ||
id: gen-radius-version | ||
if: steps.gen-id.outputs.RUN_TEST == 'true' | ||
|
@@ -233,26 +226,56 @@ jobs: | |
if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' | ||
id: create-eks | ||
run: | | ||
# Install eksctl | ||
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp | ||
sudo mv /tmp/eksctl /usr/local/bin | ||
|
||
# Create EKS cluster | ||
eksctl create cluster \ | ||
--name ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} \ | ||
--nodes-min 1 --nodes-max 2 --node-type t3.large \ | ||
--zones ${{ env.AWS_ZONES }} \ | ||
--managed \ | ||
--region ${{ env.AWS_REGION }} | ||
|
||
# Wait for the EKS cluster to be active | ||
while [[ "$(eksctl get cluster ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} --region ${{ env.AWS_REGION }} -o json | jq -r .[0].Status)" != "ACTIVE" ]]; do | ||
echo "Waiting for EKS cluster to be created..." | ||
sleep 60 | ||
done | ||
|
||
# Update kubeconfig | ||
aws eks update-kubeconfig --region ${{ env.AWS_REGION }} --name ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} | ||
timeout-minutes: 60 | ||
continue-on-error: false | ||
- name: Install Dapr | ||
if: steps.gen-id.outputs.RUN_TEST == 'true' && steps.gen-id.outputs.ENABLE_DAPR == 'true' | ||
- name: Configure EKS for Dapr | ||
if: steps.gen-id.outputs.RUN_TEST == 'true' && matrix.credential == 'aws' | ||
run: | | ||
helm repo add dapr https://dapr.github.io/helm-charts/ | ||
helm install dapr dapr/dapr --version=1.6 --namespace dapr-system --create-namespace --wait | ||
# Fetch the node group name dynamically | ||
NODEGROUP_NAME=$(eksctl get nodegroup \ | ||
--cluster ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} \ | ||
--region ${{ env.AWS_REGION }} \ | ||
-o json | jq -r '.[0].Name') | ||
|
||
# Fetch the security group ID for the EKS worker nodes | ||
NODE_SECURITY_GROUP_ID=$(eksctl get nodegroup \ | ||
--cluster ${{ steps.gen-id.outputs.TEST_EKS_CLUSTER_NAME }} \ | ||
--name $NODEGROUP_NAME \ | ||
--region ${{ env.AWS_REGION }} \ | ||
-o json | jq -r '.[0].Resources.SecurityGroup.ID') | ||
Comment on lines
+254
to
+265
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we can consolidate this into a single step using the below command.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will follow up on this in a separate PR There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updated here #2030. Thanks for the feedback. |
||
|
||
# Authorize port 4000 for Dapr sidecar communication within the same security group | ||
# https://docs.dapr.io/operations/hosting/kubernetes/cluster/setup-eks/#add-dapr-requirements-for-sidecar-access-and-default-storage-class | ||
aws ec2 authorize-security-group-ingress \ | ||
--group-id $NODE_SECURITY_GROUP_ID \ | ||
--protocol tcp \ | ||
--port 4000 \ | ||
--source-group $NODE_SECURITY_GROUP_ID | ||
|
||
# Add a default storage class | ||
kubectl patch storageclass gp2 -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' | ||
timeout-minutes: 30 | ||
continue-on-error: false | ||
- uses: oras-project/setup-oras@main | ||
if: steps.gen-id.outputs.RUN_TEST == 'true' | ||
with: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing this step since Dapr is installed by default with Radius now radius-project/radius#8033