-
Notifications
You must be signed in to change notification settings - Fork 47
Conversation
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.
I'm wondering if this would be better as a separate document or as a set of edits to Gregory's original document? @gregnsk
README.md
Outdated
@@ -95,6 +95,7 @@ For reference material, we have provided existing Kubernetes deployment models t | |||
|
|||
1. [Seagate Internal Jenkins Job](http://eos-jenkins.mero.colo.seagate.com/job/Cortx-kubernetes/job/setup-kubernetes-cluster/) | |||
2. [CORTX on AWS and Kubernetes - Quick Install Guide](doc/cortx-aws-k8s-installation.md) | |||
- [AWS CloudFormation Template](doc/cloudformation.md) for this setup |
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.
Instead of a separate document, would this be better as a set of edits to the original AWS/k8s guide?
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.
Just moved it into the original guide
Yes, I think most user will prefer the simpler way so I would suggest to trim this page as much as possible. @gregnsk , please let us know if you disagree. But otherwise @trshaffer please proceed accordingly. Thanks! Remzi always told me, "You cannot oversimplify something." Which might be ambiguous. But what I think he meant was, "Simpler is always better." |
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.
Added a handful of comments that will help to align with concurrent changes, as well as future plans.
In addition to inline comments, in an attempt to not overcomplicate the root k8_cortx_cloud
directory, can you move these files to a k8_cortx_cloud/templates/cloudformation
subdirectory?
We're looking to condense how many disparate files are initially presented to the user, so being able to structure these changes hierarchically will help as we can use the Cloudformation work as a template for other types of automation templating.
k8_cortx_cloud/cloudformation.py
Outdated
"Default": "v0.0.22" | ||
}, | ||
|
||
"ImageCORTXControlProv": { |
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.
The associated "cortx-control-provisoiner" parameter is no longer used in solution.yaml and can be removed.
k8_cortx_cloud/cloudformation.py
Outdated
"Type": "String", | ||
"Default": "ghcr.io/seagate/cortx-all:2.0.0-642-custom-ci" | ||
}, | ||
"ImageCORTXDataProv": { |
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.
The associated "cortx-data-provisoiner" parameter is no longer used in solution.yaml and can be removed.
k8_cortx_cloud/cloudformation.py
Outdated
|
||
"yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo", | ||
"yum install -y docker-ce docker-ce-cli containerd.io", | ||
"systemctl start docker", |
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.
As of k8s 1.24, the dockershim will be removed completely, so we will no longer be able to run docker as the container runtime engine by default for use by k8s without additional configuration and hoop-jumping.
We should switch to only installing containerd and not installing Docker at all, since Docker takes explicit precedence during kubeadm cluster setup. For more details, you can reference https://kubernetes.io/docs/setup/production-environment/container-runtimes/ and https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime
If we have issues with containerd, we can investigate CRI-O instead. But as this effort is meant to simplify the overall installation and we'll be using it for a long time to come, if we can make those changes sooner rather than later, we'll prevent a lot of broken installations as newer k8s versions are released.
k8_cortx_cloud/cloudformation.py
Outdated
{"Fn::Sub": "git clone -b ${VersionDeploymentRepo} https://github.com/Seagate/cortx-k8s.git"}, | ||
"mv ./cortx-k8s/k8_cortx_cloud/solution.yaml ./cortx-k8s/k8_cortx_cloud/solution.yaml.orig", | ||
{"Fn::Sub": "./cortx-k8s/k8_cortx_cloud/generate-cvg-yaml.sh --nodes nodes.txt --devices devices.txt --cvgs {} --data {} --solution ./cortx-k8s/k8_cortx_cloud/solution.yaml.orig --datasize ${{DiskSizeMotr}}Gi --metadatasize ${{DiskSizeMotr}}Gi > ./cortx-k8s/k8_cortx_cloud/solution.yaml".format(cvgs, datas)}, | ||
"(cd cortx-k8s/k8_cortx_cloud/ && ./prereq-deploy-cortx-cloud.sh /dev/sdb)", |
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.
As of current changes to the prereq script in #144, this now requires a -d
flag to be passed in with the device path parameter. The additional flags are not required at this time, but I'll circle back on additional updates that may be wanted here when I complete comprehensive use case documentation this sprint.
This should now be ./prereq-deploy-cortx-cloud.sh -d /dev/sdb
k8_cortx_cloud/cloudformation.py
Outdated
{"Fn::Sub": ' .solution.common.setup_size = "${SetupSize}"'}, | ||
{"Fn::Sub": '| .solution.common.storage_sets.durability.sns = "${DurabilitySNS}"'}, | ||
{"Fn::Sub": '| .solution.common.storage_sets.durability.dix = "${DurabilityDIX}"'}, | ||
{"Fn::Sub": '| .solution.images.cortxcontrolprov = "${ImageCORTXControlProv}"'}, |
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.
The associated "cortx-control-provisoiner" parameter is no longer used in solution.yaml and can be removed.
"Fn::Sub": "| .solution.images.cortxcontrol = \"${ImageCORTXControl}\"" | ||
}, | ||
{ | ||
"Fn::Sub": "| .solution.images.cortxdataprov = \"${ImageCORTXDataProv}\"" |
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.
The associated "cortx-data-provisioner" parameter is no longer used in solution.yaml and can be removed.
"Fn::Sub": "| .solution.common.storage_sets.durability.dix = \"${DurabilityDIX}\"" | ||
}, | ||
{ | ||
"Fn::Sub": "| .solution.images.cortxcontrolprov = \"${ImageCORTXControlProv}\"" |
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.
The associated "cortx-control-provisioner" parameter is no longer used in solution.yaml and can be removed.
"chmod +x /usr/bin/yq", | ||
"yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo", | ||
"yum install -y docker-ce docker-ce-cli containerd.io", | ||
"systemctl start docker", |
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.
See comment above wrt to docker vs containerd.
"Fn::Sub": "| .solution.common.storage_sets.durability.dix = \"${DurabilityDIX}\"" | ||
}, | ||
{ | ||
"Fn::Sub": "| .solution.images.cortxcontrolprov = \"${ImageCORTXControlProv}\"" |
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.
The associated "cortx-control-provisioner" parameter is no longer used in solution.yaml and can be removed.
"Fn::Sub": "| .solution.images.cortxcontrol = \"${ImageCORTXControl}\"" | ||
}, | ||
{ | ||
"Fn::Sub": "| .solution.images.cortxdataprov = \"${ImageCORTXDataProv}\"" |
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.
The associated "cortx-data-provisioner" parameter is no longer used in solution.yaml and can be removed.
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
https://cloud.google.com/compute/docs/troubleshooting/known-issues#keyexpired Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
Signed-off-by: Tim Shaffer <tim.shaffer@seagate.com>
49e956a
to
b65f046
Compare
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.
lgtm.
I've run multiple successful deployments in us-east-2 and us-west-1 without issue. This should be good to go!
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.
My requested changes have been made. LGTM!
I wrote a script to do CORTX deployments using CloudFormation for Seagate/cortx#1381. It's basically follows the QSG (with a few tweaks for automated installation). I also wrote a short doc explaining how to use it. This should be a very easy way for new users to get up and running with CORTX+Kubernetes in AWS.
View rendered README.md
View rendered doc/cloudformation.md