【问题标题】:Galera mysql cluster fails to start in KubernetesGalera mysql集群无法在Kubernetes中启动
【发布时间】:2019-07-08 08:25:39
【问题描述】:

好的,所以我正在使用这个 repo 的修改版本:https://github.com/CaptTofu/mysql_replication_kubernetes/tree/master/galera_sync_replication

修改后的文件有:

服务:

apiVersion: v1
kind: Service
metadata:
  name:  ro-db


  labels:
    unit: pxc-cluster
spec:
  ports:
    - port: 3306
      name: mysql
  selector:
    unit: pxc-cluster

pxc1,它是相同的复制控制器,用于发现的服务以及 2 和 3 的持久卷声明,只是更改了数字

apiVersion: v1
kind: Service
metadata:
  name: pxc-node1
  labels:
    node: pxc-node1
spec:
  ports:
    - port: 3306
      name: mysql
    - port: 4444
      name: state-snapshot-transfer
    - port: 4567
      name: replication-traffic
    - port: 4568
      name: incremental-state-transfer
  selector:
    node: pxc-node1
---
apiVersion: v1
kind: ReplicationController
metadata:
  name: pxc-node1
spec:
  replicas: 1
  template:
    metadata:
      labels:
        node: pxc-node1
        unit: pxc-cluster
    spec:  
      nodeSelector:
        number: '1'

      containers:
        - image: capttofu/percona_xtradb_cluster_5_6:beta
          name: pxc-node1
          ports:
            - containerPort: 3306
            - containerPort: 4444
            - containerPort: 4567
            - containerPort: 4568
          env:
            - name: GALERA_CLUSTER
              value: "true"
            - name: WRSEP_ON
              value: "true"
            - name: WSREP_CLUSTER_ADDRESS
              value: gcomm://
            - name: WSREP_SST_USER
              value: sst
            - name: WSREP_SST_PASSWORD
              value: sst
            - name: MYSQL_USER
              value: mysql
            - name: MYSQL_PASSWORD
              value: mysql
            - name: MYSQL_ROOT_PASSWORD
              value: c-krit 
          volumeMounts:
            - name: mysql-persistent-storage-1
              mountPath: /var/lib
          securityContext:
            capabilities: {}
            privileged: true #privileged required for mount
      volumes:
      - name: mysql-persistent-storage-1
        persistentVolumeClaim:
          claimName: claim-galera-1
---

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: claim-galera-1
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi
  selector:
    matchLabels:
      name: pxc1

问题是它几天前还在工作,并进行了大量测试以关闭 pod、节点并查看复制投票和一切工作情况,现在当我集成到应用程序时,它只是无法启动,我不明白为什么如果它的配置相同,我在互联网、SO、GitHub 上看了很多,并尝试了建议的修复但不起作用。

2018-10-23 20:36:46 1 [Note] WSREP: (4be59ce1, 'tcp://0.0.0.0:4567') turning message relay requesting on, nonlive peers: tcp://10.244.2.61:4567 
2018-10-23 20:36:47 1 [Note] WSREP: forgetting 49c4d2cf (tcp://10.244.2.61:4567)
2018-10-23 20:36:47 1 [Note] WSREP: (4be59ce1, 'tcp://0.0.0.0:4567') turning message relay requesting off
2018-10-23 20:36:47 1 [Warning] WSREP: no nodes coming from prim view, prim not possible
2018-10-23 20:36:47 1 [Note] WSREP: view(view_id(NON_PRIM,4be59ce1,5) memb {
    4be59ce1,0
} joined {
} left {
} partitioned {
    47f2860c,0
    49c4d2cf,0
})
2018-10-23 20:36:50 1 [Note] WSREP: view((empty))
2018-10-23 20:36:50 1 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
     at gcomm/src/pc.cpp:connect():162
2018-10-23 20:36:50 1 [ERROR] WSREP: gcs/src/gcs_core.cpp:long int gcs_core_open(gcs_core_t*, const char*, const char*, bool)():206: Failed to open backend connection: -110 (Connection timed out)
2018-10-23 20:36:50 1 [ERROR] WSREP: gcs/src/gcs.cpp:long int gcs_open(gcs_conn_t*, const char*, const char*, bool)():1379: Failed to open channel 'galera_kubernetes' at 'gcomm://pxc-node2,pxc-node3': -110 (Connection timed out)
2018-10-23 20:36:50 1 [ERROR] WSREP: gcs connect failed: Connection timed out
2018-10-23 20:36:50 1 [ERROR] WSREP: wsrep::connect(gcomm://pxc-node2,pxc-node3) failed: 7
2018-10-23 20:36:50 1 [ERROR] Aborting

2018-10-23 20:36:50 1 [Note] WSREP: Service disconnected.
2018-10-23 20:36:51 1 [Note] WSREP: Some threads may fail to exit.
2018-10-23 20:36:51 1 [Note] Binlog end
2018-10-23 20:36:51 1 [Note] mysqld: Shutdown complete

有什么建议吗?现在已经有几个小时了,就是不能让它工作

【问题讨论】:

  • 你的服务中的目标端口在哪里,也许最好明确地做到这一点
  • 我过去也遇到过同样的错误,问题是我必须使用--wsrep-new-cluster 选项启动第一个galera 节点。在此处查看我对类似问题的回答:stackoverflow.com/questions/33277865/… 这可能就是您要查找的内容。
  • @CiprianStoica 我现在正在尝试使用图像:最新而不是 beta,我也已经尝试过你的解决方案,但对我没有用,无论如何它变得更好至少服务器正在启动!非常感谢
  • @paltaa Percona 将很快发布官方 K8s 支持。请继续关注我们的博客以获取公告。

标签: mysql docker kubernetes percona-xtradb-cluster


【解决方案1】:

Percona XtraDB 集群现在原生支持 Kubernetes。 PXC Operator 几周前发布了 GA 1.0。 https://percona.com/doc/kubernetes-operator-for-pxc/index.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 2018-04-20
    • 1970-01-01
    • 2020-07-03
    • 2021-10-26
    相关资源
    最近更新 更多