-
Notifications
You must be signed in to change notification settings - Fork 100
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
AWS Elastic Kubernetes Service Kubernetes 1.28 Update #237
base: master
Are you sure you want to change the base?
Conversation
@@ -91,7 +93,7 @@ if ! command -v python3 >/dev/null; then | |||
|
|||
mkdir -p "${PYENV_ROOT}" | |||
git_clone_log="$(mktemp -t pyenv_git_clone-XXXXXXX.log)" | |||
if git clone --depth 1 --branch v2.0.3 https://github.com/pyenv/pyenv.git "${PYENV_ROOT}" 2>"${git_clone_log}"; then | |||
if git clone --depth 1 --branch v2.3.31 https://github.com/pyenv/pyenv.git "${PYENV_ROOT}" 2>"${git_clone_log}"; then |
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.
annotation:
Older versions of pyenv don't know about the newer python version we are using.
srv = Service.get(resource_name="nginx-ingress", | ||
id=Output.concat("nginx-ingress", "/", pstatus.name, "-nginx-ingress"), | ||
id=Output.concat("nginx-ingress", "/", pstatus.name, "-nginx-ingress-controller"), |
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.
Annotation:
Necessary to align with the new name of the controller in new helm chart
@@ -47,7 +47,8 @@ def _docker_pull(self, image_name: str) -> str: | |||
:param image_name: full container image name in the format of repository:tag | |||
:return full image name with server name (e.g. docker.io/library/debian:buster-slim) | |||
""" | |||
cmd = f'docker pull --quiet "{image_name}"' | |||
|
|||
cmd = f'docker pull --platform linux/amd64 --quiet "{image_name}"' |
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.
annotation:
Necessary to make sure we get the version of the image that will be compatible with the deployment environment not the computer running it.
@@ -7,5 +7,5 @@ | |||
version_config=True, | |||
packages=['kic_util'], | |||
install_requires=[ | |||
'pyyaml>=5.3.1,<6.0', 'passlib>=1.7.4,<2.0.0', 'GitPython>=3.1.18,<3.2.0' | |||
'pyyaml', 'passlib>=1.7.4,<2.0.0', 'GitPython>=3.1.18,<3.2.0' |
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.
annotation:
Relaxing this requirement is ok and allows us to update the various pulumi packages which have moved to version >=6
@@ -4,29 +4,25 @@ verify_ssl = true | |||
name = "pypi" | |||
|
|||
[packages] | |||
awscli = "~=1.25.35" |
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.
annotation:
The AWS cli has some pretty strict pins on its dependencies. PyYaml specifically. The advice should be to install the v2 aws CLI tool separately.
Updates for EKS 1.28
This change brings MARA up to date for execution in Amazon EKS running Kubernetes 1.28.
The additional changes in this PR are:
3.11.6
is suggested,3.11
required) to support building our combination of dependenciesaws
tool yourselfThe docker-based runs have not been updated and will be addressed in a future PR.
Run Instructions
Prerequisites
t2.large
instances with the accompanying costs)All of the other suggested tooling can be managed with asdf if you want.
Steps
git clone --recurse-submodules https://github.com/nginxinc/kic-reference-architectures
to check out this repo and the demo app.git checkout pulumi_2023
to get this branch./bin/setup_venv.sh
to set up python and install all the dependencies./config/pulumi
create a file like this with the namePulumi.your_stack_name.yaml
linux/arm64
machine but it doesn't hurt to leave it there.Exploring
Once the standup script is complete, you should see something that looks like this:
You can use that to visit the Bank of Sirius UI
To view other installed tooling, first make sure you have kubectl configured to have access to your cluster like this:
The CLUSTER_NAME can be obtained either from the AWS UI or by looking at the output from this project in the "EKS" section at the beginning. It will look like this:
Outputs: cluster_name: "aws-eks-yourstackname-eksCluster-cf1f5e2"
Once that is done, run:
Which till create tunnels to the appropriate endpoints in the deployed MARA instance.
It is also recommended to install and deploy
k9s
(link) to explore the Kubernetes cluster. If you set up your kubeconfig in the earlier step then it should just work.