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
Add Manifest resource and support export an artifact using the manifest #901
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: 24sama The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/kind do-not-merge |
@24sama: The label(s) In response to this:
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. |
Wonderful,I think this feature will further enhance the usability of KubeKey. |
awesome! this feature is our urgently needed |
a8af905
to
8160959
Compare
Reopen this PR, because the GitHub CI workflow has been modified. |
Signed-off-by: Leo Li <jacksama@foxmail.com>
Signed-off-by: Leo Li <jacksama@foxmail.com>
Signed-off-by: Leo Li <jacksama@foxmail.com>
Signed-off-by: Leo Li <jacksama@foxmail.com>
Signed-off-by: 24sama <leo@kubesphere.io>
Signed-off-by: 24sama <leo@kubesphere.io>
Signed-off-by: 24sama <leo@kubesphere.io>
/lgtm |
LGTM label has been added. Git tree hash: ecabc4ba40d146fa5a744f7142de41486e95c989
|
/cherrypick release-2.0 |
@24sama: new pull request created: #925 In response to this:
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. |
I think this PR can fix this issue #597 |
What does this PR do?
Manifest
resource to define cluster dependencies(images, binaries, Linux package e.g.)../kk create manifest --kubeconfig "~/.kube/config"
to generate amanifest-sample.yaml
that related the config file specified cluster../kk artifact export -m manifest-sample.yaml
to export a KubeKey artifact(kubekey-artifact.tar.gz) that is used to offline create a cluster. For now, the artifact contains images, binaries, Linux repository iso files../kk create cluster
command uses an artifact to create a cluster.Examples:
kubekey-artifact.tar.gz
file.Details
Manifest
The manifest file content:
For now, there are three todo lists:
helm
,cni
,etcd
according to kubeconfig. These components' versions are generated by a default value. Besides. KubeKey doesn't support customizing these components' versions to create a k8s cluster.containerd
,the field.spec.components.containerRuntime.type
will also be thedocker
and theversion
will be the default version(20.10.8). This is because of KubeKey install acontainerd
based k8s cluster by installing adocker
and making thekubelet
connect the/run/containerd/containerd.sock
.repo/namespace/
when these fields are missing. Users may need to check if these images' full names are correct manually.Artifact
The artifact's dir tree:
Total TODO Lists