apecloud / kubeblocks

KubeBlocks is an open-source control plane software that runs and manages databases, message queues and other stateful applications on K8s.
https://kubeblocks.io
GNU Affero General Public License v3.0
2.05k stars 167 forks source link

[BUG] install KubeBlocks apecloud-mysql addon enable failed #7995

Open JashBook opened 3 weeks ago

JashBook commented 3 weeks ago

Describe the bug

kbcli version
Kubernetes: v1.30.0
KubeBlocks: 1.0.0-alpha.3
kbcli: 1.0.0-alpha.0

To Reproduce Steps to reproduce the behavior:

  1. install kubeblocks
    kbcli kubeblocks install --version 1.0.0-alpha.3
  2. See error
    
    KubeBlocks will be installed to namespace "kb-system"
    Kubernetes version 1.30.0
    kbcli version 1.0.0-alpha.0
    Collecting data from cluster                       OK
    Kubernetes cluster preflight                       OK
    Warn
    - This application requires at least 3 nodes
    Create CRDs                                        OK
    Add and update repo kubeblocks                     OK
    Install KubeBlocks 1.0.0-alpha.3                   OK
    Wait for addons to be enabled
    apecloud-mysql                                   Failed
    kafka                                            OK
    mongodb                                          OK
    mysql                                            OK
    postgresql                                       Enabling
    pulsar                                           Enabling
    redis                                            OK
    snapshot-controller                              Enabling

Failed addons: NAME TIME REASON MESSAGE
apecloud-mysql Aug 19,2024 15:31 UTC+0800 InstallationFailedLogs Release "kb-addon-apecloud-mysql" does not exist. Installing it now.
Error: execution error at (apecloud-mysql/templates/cr-check.yaml:3:6): The ComponentDefinition etcd-1.0.0-alpha.0 is re
quired but does not exist in namespace kb-system.

Enabling addons: postgresql, pulsar, snapshot-controller Please wait for a while and try to run "kbcli addon list" to check addons status. Failed to wait for auto-install addons to be enabled, run "kbcli kubeblocks status" to check the status error: some addons are failed to be enabled

kubectl get pod -n kb-system
NAME READY STATUS RESTARTS AGE install-apecloud-mysql-addon-bzf98 0/1 Error 0 3m27s install-apecloud-mysql-addon-kkcck 0/1 Error 0 2m46s install-apecloud-mysql-addon-llgbt 0/1 Error 0 3m47s install-apecloud-mysql-addon-rdhcn 0/1 Error 0 3m59s kb-addon-snapshot-controller-557f9cf454-fdzct 1/1 Running 0 9m14s kubeblocks-58b8cfc87f-bp7q2 1/1 Running 0 11m kubeblocks-dataprotection-75d7c6b96b-49tdr 1/1 Running 0 11m

kubectl logs -n kb-system install-apecloud-mysql-addon-bzf98 Defaulted container "helm" out of: helm, copy-charts (init) Release "kb-addon-apecloud-mysql" does not exist. Installing it now. Error: execution error at (apecloud-mysql/templates/cr-check.yaml:3:6): The ComponentDefinition etcd-1.0.0-alpha.0 is required but does not exist in namespace kb-system.



**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
 - OS: [e.g. iOS]
 - Browser [e.g. chrome, safari]
 - Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
skyrise-l commented 3 weeks ago

https://github.com/apecloud/kubeblocks-addons/pull/951 update the code

JashBook commented 3 weeks ago

apecloud/kubeblocks-addons#951 update the code

This pr cannot solve the problem of install kubeblocks apecloud-mysql addon enable failed

helm upgrade -i -n kb-system kb-addon-apecloud-mysql kb-addons/apecloud-mysql --version 1.0.0-alpha.0
Release "kb-addon-apecloud-mysql" does not exist. Installing it now.
Error: execution error at (apecloud-mysql/templates/cr-check.yaml:3:6): The ComponentDefinition etcd is required but does not exist in namespace kb-system.
skyrise-l commented 3 weeks ago

try to update kb code? I try it in main kb code, it's ok

image
JashBook commented 3 weeks ago

try to update kb code? I try it in main kb code, it's ok image

The default addon installed by kubeblocks does not include etcd cmpd. I only installed KB, not etcd addon. https://github.com/apecloud/kubeblocks-addons/blob/main/addons/apecloud-mysql/templates/cr-check.yaml Whether it is a mandatory dependency check may need to be evaluated.

weicao commented 3 weeks ago

A similar case: installing the MySQL addon would require the Orchestrator addon to be installed as a dependency, correct? Of course, the MySQL addon likely doesn't enforce a strict dependency check.

@kubeJocker

kubeJocker commented 3 weeks ago

A similar case: installing the MySQL addon would require the Orchestrator addon to be installed as a dependency, correct? Of course, the MySQL addon likely doesn't enforce a strict dependency check.

@kubeJocker

In the MySQL Addon, both the syncer and Orchestrator exist as high availability solutions. If there is a forced requirement for Orchestrator dependency, it will affect users who rely on the syncer. So should users who use the syncer also be forced to install the Orchestrator Addon?