PolarDB-X Operator is a Kubernetes extension that aims to create and manage PolarDB-X cluster on Kubernetes.

Overview

GalaxyKube -- PolarDB-X Operator


PolarDB-X Operator is a Kubernetes extension that aims to create and manage PolarDB-X cluster on Kubernetes. It follows the operator pattern and automates the management tasks.

Quick Start

Follow the [Quick Start / 快速开始] guide to start a testing Kubernetes cluster and play with PolarDB-X Operator.

Documentation

Refer to the documentations for more details, such as CRD definitions and operation guides.

Roadmap

There are many aspects of management activities. For now, only some are implemented. Here's a roadmap describing what features we have implemented and what we are going to implement and their (possible) priorities.

Implemented:

  • Basic Lifetime Management
  • Liveness/Readiness Probing & Self Healing
  • Metrics Export
  • Configuration (Partial, controller and resources)
  • Scale and Upgrade (CN/CDC)
  • Automated Failover (CN/CDC)
  • Multiple Architecture Support
    • linux/amd64, linux/arm64

Working in progress:

  • [T0] Security and TLS
  • [T0] Scale and Upgrade (GMS/DN)
  • [T0] Automated Failover (GMS/DN)
  • [T0] Backup and Restore
  • [T1] Backup Plan
  • [T1] Configuration (DN)
  • [T1] Automated Data Rebalance
  • [T2] Dashboard
  • ...

License

PolarDB-X operator is distributed under the Apache License (Version 2.0). See the LICENSE file for details.

This product contains various third-party components under other open source licenses. See the NOTICE file for more information.

You might also like...
K8s-network-config-operator - Kubernetes network config operator to push network config to switches

Kubernetes Network operator Will add more to the readme later :D Operations The

Pulumi-k8s-operator-example - OpenGitOps Compliant Pulumi Kubernetes Operator Example

Pulumi GitOps Example OpenGitOps Compliant Pulumi Kubernetes Operator Example Pr

The project aims to provide the utility for Kunlun-Cluster aka KTS

Kunlun Tool Set Description This project aims to provide the utility for Kunlun-Cluster aka 'KTS' Including but not limited to backup/restore tools...

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster. It evolved from NebulaGraph Cloud Service, makes NebulaGraph a truly cloud-native database.

YurtCluster Operator creates and manages OpenYurt cluster atop Kubernetes

YurtCluster Operator Quick Start Prepare a Kubernetes cluster # cat EOF | kind create cluster --config=- kind: Cluster apiVersion: kind.x-k8s.io/v1a

vcluster - Create fully functional virtual Kubernetes clusters - Each cluster runs inside a Kubernetes namespace and can be started within seconds
vcluster - Create fully functional virtual Kubernetes clusters - Each cluster runs inside a Kubernetes namespace and can be started within seconds

Website • Quickstart • Documentation • Blog • Twitter • Slack vcluster - Virtual Clusters For Kubernetes Lightweight & Low-Overhead - Based on k3s, bu

Kubernetes Operator for MySQL NDB Cluster.

MySQL NDB Operator The MySQL NDB Operator is a Kubernetes operator for managing a MySQL NDB Cluster setup inside a Kubernetes Cluster. This is in prev

Sbom-operator - Catalogue all images of a Kubernetes cluster to multiple targets with Syft

sbom-operator Catalogue all images of a Kubernetes cluster to multiple targets w

Modular Kubernetes operator to manage the lifecycle of databases

Ensemble Ensemble is a simple and modular Kubernetes Operator to manage the lifecycle of a wide range of databases. Infrastructure as code with Kubern

Comments
  • cannot create pod

    cannot create pod

    $ kubectl get polardbxcluster -w NAME GMS CN DN CDC PHASE DISK AGE liyz 0/1 0/1 0/1 0/1 Creating 42m alway waiting. $ kubectl get pods NAME READY STATUS RESTARTS AGE liyz-9gk8-dn-0-single-0 2/3 Running 0 43m liyz-9gk8-gms-single-0 2/3 Running 0 43m $ kubectl logs --tail=30 liyz-9gk8-dn-0-single-0 --all-containers=true INFO:root:Begin to initialize... 2022-04-07 08:31:23,861 - GalaxyEngine - INFO - (cwd=/data/mysql/data) execute command: /opt/galaxy_engine/bin/mysqld --defaults-file=/data/mysql/conf/my.cnf --loose-pod-name=liyz-9gk8-dn-0-single-0 --loose-cluster-info=liyz-9gk8-dn-0-single-0:25047@1 --initialize-insecure INFO:root:Initialized! INFO:root:Bootstrapping engine galaxy ... 2022-04-07 08:31:27,665 - GalaxyEngine - INFO - starting process... 2022-04-07 08:31:27,665 - GalaxyEngine - INFO - () start command: /opt/galaxy_engine/bin/mysqld_safe --defaults-file=/data/mysql/conf/my.cnf --loose-pod-name=liyz-9gk8-dn-0-single-0 2022-04-07T08:31:28.433699Z mysqld_safe Logging to '/data/mysql/log/alert.log'. 2022-04-07T08:31:28.447407Z mysqld_safe Starting mysqld daemon with databases from /data/mysql/data level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:277 msg="Starting msqyld_exporter" version="(version=0.13.0, branch=master, revision=4e8e2b98de1c2bcfed7bf0a5c08b3a885b1cbf46)" level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:278 msg="Build context" (gogo1.16.9,userroot@eafbaf7294c5,date20211023-07:52:42)=(MISSING) level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=global_status level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=global_variables level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=slave_status level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.processlist level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.innodb_tablespaces level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.innodb_metrics level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.innodb_cmp level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.innodb_cmpmem level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=info_schema.query_response_time level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:293 msg="Scraper enabled" scraper=engine_innodb_status level=info ts=2022-04-07T08:32:02.795Z caller=mysqld_exporter.go:303 msg="Listening on address" address=:21897 level=info ts=2022-04-07T08:32:02.795Z caller=tls_config.go:191 msg="TLS is disabled." http2=false Client: 192.168.49.2:47238 GET /liveness HTTP/1.1 Host: 192.168.49.2:22096 probe-port: 17047 probe-target: xstore connection: close user-agent: kube-probe/1.23 accept: / probe-extra: galaxy Client: 192.168.49.2:47236 GET /readiness HTTP/1.1 Host: 192.168.49.2:22096 probe-extra: galaxy probe-port: 17047 probe-target: xstore connection: close user-agent: kube-probe/1.23 accept: / 2022/04/07 09:12:00 Succeeds! 2022/04/07 09:12:00 Failed! Client: 192.168.49.2:47254 GET /readiness HTTP/1.1 Host: 192.168.49.2:22096 probe-target: xstore connection: close user-agent: kube-probe/1.23 accept: / probe-extra: galaxy probe-port: 17047 2022/04/07 09:12:01 Failed!

    opened by fullbird 2
  • 健康检查一直无法通过

    健康检查一直无法通过

    Client: 10.1.8.242:57568 GET /liveness HTTP/1.1 Host: 10.1.8.242:23234 user-agent: kube-probe/1.21 accept: / probe-extra: galaxy probe-port: 17997 probe-target: xstore connection: close 2022/08/12 21:20:44 Succeeds! 2022/08/12 21:20:44 Failed!

    opened by sj-dev 1
Releases(v1.3.0)
Owner
null
Kubegres is a Kubernetes operator allowing to create a cluster of PostgreSql instances and manage databases replication, failover and backup.

Kubegres is a Kubernetes operator allowing to deploy a cluster of PostgreSql pods with data replication enabled out-of-the box. It brings simplicity w

Reactive Tech Ltd 1.1k Dec 30, 2022
Basic Kubernetes operator that have multiple versions in CRD. This operator can be used to experiment and understand Operator/CRD behaviors.

add-operator Basic Kubernetes operator that have multiple versions in CRD. This operator can be used to experiment and understand Operator/CRD behavio

Dinesh Parvathaneni 0 Dec 15, 2021
An operator which complements grafana-operator for custom features which are not feasible to be merged into core operator

Grafana Complementary Operator A grafana which complements grafana-operator for custom features which are not feasible to be merged into core operator

Snapp Cab Incubators 6 Aug 16, 2022
A Terraform module to manage cluster authentication (aws-auth) for an Elastic Kubernetes (EKS) cluster on AWS.

Archive Notice The terraform-aws-modules/eks/aws v.18.20.0 release has brought back support aws-auth configmap! For this reason, I highly encourage us

Aidan Melen 28 Dec 4, 2022
kube-champ 43 Oct 19, 2022
The OCI Service Operator for Kubernetes (OSOK) makes it easy to connect and manage OCI services from a cloud native application running in a Kubernetes environment.

OCI Service Operator for Kubernetes Introduction The OCI Service Operator for Kubernetes (OSOK) makes it easy to create, manage, and connect to Oracle

Oracle 24 Sep 27, 2022
cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resource objects related of Kubernetes Cluster API.

Overview cluster-api-state-metrics (CASM) is a service that listens to the Kubernetes API server and generates metrics about the state of custom resou

Daimler Group 61 Oct 27, 2022
Kubernetes Operator Samples using Go, the Operator SDK and OLM

Kubernetes Operator Patterns and Best Practises This project contains Kubernetes operator samples that demonstrate best practices how to develop opera

International Business Machines 27 Nov 24, 2022
The Elastalert Operator is an implementation of a Kubernetes Operator, to easily integrate elastalert with gitops.

Elastalert Operator for Kubernetes The Elastalert Operator is an implementation of a Kubernetes Operator. Getting started Firstly, learn How to use el

null 20 Jun 28, 2022
Minecraft-operator - A Kubernetes operator for Minecraft Java Edition servers

Minecraft Operator A Kubernetes operator for dedicated servers of the video game

James Laverack 8 Dec 15, 2022