-
Notifications
You must be signed in to change notification settings - Fork 290
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
eksctl-anywhere cluster config generation with parameters for bare metal and vSphere #7983
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @ygao-armada. Thanks for your PR. I'm waiting for a aws member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
f0fb3ad
to
51e87d5
Compare
… bare metal and vSphere Sample command for bare metal is: eksctl anywhere generate clusterconfig <cluster name> \ -p tinkerbell \ -m params_tinkerbell.yaml Sample params_tinkerbell.yaml has content: """ managementClusterName: <management cluster name> podsCidrBlocks: - 192.168.64.0/18 servicesCidrBlocks: - 10.96.0.0/12 kubernetesVersion: 1.26 cpCount: 1 workerCount: 2 cpEndpointHost: <control plane endpoint host ip> tinkerbellIP: <tinkerbellIP> adminIP: <admin machine ip> osFamily: ubuntu osImageURL: <osImageURL of K8s 1.26> hardwareCSV: <hardware CSV file> sshAuthorizedKeyFile: <sshKey.pub file> tinkerbellTemplateConfigTemplateFile: tinkerbellTemplateConfigTemplateUbuntu.yaml """ managementClusterName is optional, the default value is <cluster name> tinkerbellTemplateConfigTemplateFile is for advanced use cases, the default ("") is ok to use Sample command for vSphere is: eksctl anywhere generate clusterconfig <cluster name> -p vsphere -m params_vsphere.yaml Sample params_vsphere.yaml has content: """ managementClusterName: <management cluster name> podsCidrBlocks: - 192.168.192.0/18 servicesCidrBlocks: - 10.96.192.0/18 cpCount: 2 etcdCount: 3 workerCount: 3 cpEndpointHost: <control plane endpoint host ip> kubernetesVersion: 1.28 datacenter: <vDatacenter> insecure: true network: <vCenterNetwork> server: <serverIP> thumbprint: <thumprint> datastore: <vDatastore> folder: <folder> cpDiskGiB: 0 cpMemoryMiB: 0 cpNumCPUs: 0 etcdDiskGiB: 0 etcdMemoryMiB: 0 etcdNumCPUs: 0 workerDiskGiB: 256 workerMemoryMiB: 65536 workerNumCPUs: 16 osFamily: "ubuntu" resourcePool: <resource pool> template: <template name of OS> sshAuthorizedKeyFile: <sshKey.pub> """ managementClusterName is optional, the default value is <cluster name>
Hi admin - may I know if you can help review and provide feedback? Thanks |
Sample command for bare metal is:
Sample params_tinkerbell.yaml has content:
managementClusterName is optional, the default value is
tinkerbellTemplateConfigTemplateFile is for advanced use cases, the default ("") is ok to use
Sample command for vSphere is:
Sample params_vsphere.yaml has content:
managementClusterName is optional, the default value is
<cluster name>
*Issue #, if available:
Upon request
*Description of changes:
The existing way to create a cluster config is through 3 steps:
This new approach enable automatic cluster config generation with cluster meta data and parameterized machine template, which has following advantages:
Users can feed the custom data with following ways:
With above information, EKSA will generate a working cluster config with custom data.
Right now, only bare metal and vSphere are covered, but easy to extend to other providers.
*Testing (if applicable):
*Documentation added/planned (if applicable): coming soon.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.