Skip to content
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

Support the use of kubeadm to manage etcd and use of existing etcd #1142

Merged
merged 1 commit into from
Mar 24, 2022

Conversation

pixiake
Copy link
Collaborator

@pixiake pixiake commented Mar 20, 2022

Signed-off-by: pixiake guofeng@yunify.com

What type of PR is this?

/kind feature

What this PR does / why we need it:

At present, kubekey only supports the separate installation of etcd cluster for k8s.
It should also support the use of existing etcd and etcd managed by kubeadm.

Does this PR introduced a user-facing change?

Add some parameters to the configuration file to select etcd cluster installation mode.
Support the choice of three etcd cluster types: kubekey, kubeadm and external.
When the type is set to external, endpointscaFilecertFile and keyFile should be set..
If TLS authentication is not enabled for the existing etcd, caFilecertFile and keyFile need not be set.

apiVersion: kubekey.kubesphere.io/v1alpha2
kind: Cluster
metadata:
  name: sample
spec:
  ...
  etcd:
    type: external   (kubekey / kubeadm / external)   # default: kubekey
    external:
      endpoints:
      - https://192.168.6.6:2379
      caFile: /pki/etcd/ca.crt
      certFile: /pki/etcd/etcd.crt
      keyFile: /pki/etcd/etcd.key
  ...     

@ks-ci-bot ks-ci-bot added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 20, 2022
@ks-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pixiake

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ks-ci-bot ks-ci-bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 20, 2022
@pixiake pixiake added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. and removed approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 20, 2022
@ks-ci-bot ks-ci-bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Mar 20, 2022
@ks-ci-bot ks-ci-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 20, 2022
@pixiake pixiake added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 20, 2022
@pixiake pixiake added this to To do in kubekey v2.1 via automation Mar 20, 2022
@pixiake pixiake linked an issue Mar 20, 2022 that may be closed by this pull request
@pixiake pixiake moved this from To do to In progress in kubekey v2.1 Mar 20, 2022
@ks-ci-bot ks-ci-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 20, 2022
apis/kubekey/v1alpha2/cluster_types.go Show resolved Hide resolved
pkg/core/connector/runtime.go Show resolved Hide resolved
pkg/bootstrap/os/module.go Outdated Show resolved Hide resolved
apis/kubekey/v1alpha2/etcd_types.go Show resolved Hide resolved
pkg/pipelines/add_nodes.go Outdated Show resolved Hide resolved
@pixiake pixiake added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 22, 2022
@ks-ci-bot ks-ci-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 22, 2022
@pixiake pixiake removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 22, 2022
pkg/etcd/module.go Outdated Show resolved Hide resolved
Signed-off-by: pixiake <guofeng@yunify.com>
@24sama
Copy link
Collaborator

24sama commented Mar 24, 2022

/lgtm

@ks-ci-bot ks-ci-bot added the lgtm Indicates that a PR is ready to be merged. label Mar 24, 2022
@ks-ci-bot
Copy link
Collaborator

LGTM label has been added.

Git tree hash: bdf547610b85a2e6ce682c3ab87f36eda8c24b24

@ks-ci-bot ks-ci-bot merged commit 98cd053 into kubesphere:master Mar 24, 2022
kubekey v2.1 automation moved this from In progress to Done Mar 24, 2022
@24sama 24sama linked an issue Mar 24, 2022 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/feature Categorizes issue or PR as related to a new feature. lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Support the use of kubeadm to manage etcd and use of existing etcd Support external etcd service
3 participants