Kubernetes中安裝mysql-operator失敗
P粉951914381
P粉951914381 2024-03-29 22:12:09
0
2
490

因此,我按照指南(https://dev.mysql.com/doc/mysql-operator/en/mysql-operator-installation-kubectl.html)在 Kubernetes Ubuntu Server 22.04 叢集上安裝 MySql 叢集。

我已成功執行以下命令來導入所需的 yaml 部署檔案

kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-crds.yaml
kubectl apply -f https://raw.githubusercontent.com/mysql/mysql-operator/trunk/deploy/deploy-operator.yaml

現在,當我執行部署指令時,pod 會不斷重新啟動。

kubectl get deployment mysql-operator --namespace mysql-operator

這是日誌的輸出(我收到錯誤)

kubectl logs mysql-operator-755b988dd9-jn7f6 --namespace=mysql-operator
exec /usr/bin/mysqlsh: exec format error

這是描述:

kubectl describe pod mysql-operator-755b988dd9-jn7f6 --namespace=mysql-operator
Name:             mysql-operator-755b988dd9-jn7f6
Namespace:        mysql-operator
Priority:         0
Service Account:  mysql-operator-sa
Node:             mnetk8s-node-a1/10.30.0.11
Start Time:       Wed, 07 Jun 2023 22:52:40 +0100
Labels:           name=mysql-operator
                  pod-template-hash=755b988dd9
Annotations:      <none>
Status:           Running
IP:               10.244.3.6
IPs:
  IP:           10.244.3.6
Controlled By:  ReplicaSet/mysql-operator-755b988dd9
Containers:
  mysql-operator:
    Container ID:  docker://785da7db660ae71ad09e1d6ecf7672f68fbbfbf1e03b64b4619bde188c7a250f
    Image:         container-registry.oracle.com/mysql/community-operator:8.0.33-2.0.10
    Image ID:      docker-pullable://container-registry.oracle.com/mysql/community-operator@sha256:9c411c679b416b7d4bce4e14f65b311105429d25c3183f864fdd9baec8d5647f
    Port:          <none>
    Host Port:     <none>
    Args:
      mysqlsh
      --log-level=@INFO
      --pym
      mysqloperator
      operator
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Wed, 07 Jun 2023 23:34:29 +0100
      Finished:     Wed, 07 Jun 2023 23:34:29 +0100
    Ready:          False
    Restart Count:  13
    Readiness:      exec [cat /tmp/mysql-operator-ready] delay=1s timeout=1s period=3s #success=1 #failure=3
    Environment:
      MYSQLSH_USER_CONFIG_HOME:                 /mysqlsh
      MYSQLSH_CREDENTIAL_STORE_SAVE_PASSWORDS:  never
    Mounts:
      /mysqlsh from mysqlsh-home (rw)
      /tmp from tmpdir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jdn2d (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  mysqlsh-home:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tmpdir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kube-api-access-jdn2d:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                  From               Message
  ----     ------     ----                 ----               -------
  Normal   Scheduled  46m                  default-scheduler  Successfully assigned mysql-operator/mysql-operator-755b988dd9-jn7f6 to mnetk8s-node-a1
  Normal   Pulled     45m (x5 over 46m)    kubelet            Container image "container-registry.oracle.com/mysql/community-operator:8.0.33-2.0.10" already present on machine
  Normal   Created    45m (x5 over 46m)    kubelet            Created container mysql-operator
  Normal   Started    45m (x5 over 46m)    kubelet            Started container mysql-operator
  Warning  BackOff    97s (x221 over 46m)  kubelet            Back-off restarting failed container mysql-operator in pod mysql-operator-755b988dd9-jn7f6_mysql-operator(9e7f8c17-4fdd-4f98-a074-d2112019b28e)

任何幫助或想法都會很棒!

P粉951914381
P粉951914381

全部回覆(2)
P粉842215006

你可以看看這個。

一個名為 kubeblocks 的開源工具,用於在 Kubernetes 上部署和管理 MySQL。

我認為它可以解決您的問題。

P粉176980522

exec format error 通常表示您正在使用的映像不適合您正在部署的架構。也就是說,您在 AMD64 節點上使用 ARM 映像,反之亦然。

由於 Oracle 容器註冊表上的所有 MySQL 映像都是 AMD64 映像,因此我猜測您的叢集正在 ARM 架構上運行,例如 Ampere 實例。

您將需要在 x64 arch 實例上運行,或找到 ARM 的映像,或前往原始程式碼並重建 ARM 的映像。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板