{"id":13538906,"url":"https://github.com/mysql/mysql-ndb-operator","last_synced_at":"2025-06-13T01:04:59.265Z","repository":{"id":43395524,"uuid":"401282099","full_name":"mysql/mysql-ndb-operator","owner":"mysql","description":"Kubernetes Operator for MySQL NDB Cluster.","archived":false,"fork":false,"pushed_at":"2025-01-22T07:09:53.000Z","size":21496,"stargazers_count":41,"open_issues_count":0,"forks_count":19,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-13T08:47:36.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mysql.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-30T09:10:15.000Z","updated_at":"2025-04-04T04:26:23.000Z","dependencies_parsed_at":"2023-01-20T03:18:50.384Z","dependency_job_id":"e57ce2dd-b1ed-4172-b863-d0c24d15eae0","html_url":"https://github.com/mysql/mysql-ndb-operator","commit_stats":{"total_commits":588,"total_committers":10,"mean_commits":58.8,"dds":0.4591836734693877,"last_synced_commit":"77f50844183298c41b6e395f8d9ea907e820f058"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/mysql/mysql-ndb-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysql%2Fmysql-ndb-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysql%2Fmysql-ndb-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysql%2Fmysql-ndb-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysql%2Fmysql-ndb-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mysql","download_url":"https://codeload.github.com/mysql/mysql-ndb-operator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mysql%2Fmysql-ndb-operator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259559625,"owners_count":22876495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T09:01:17.536Z","updated_at":"2025-06-13T01:04:59.254Z","avatar_url":"https://github.com/mysql.png","language":"Go","readme":"# MySQL NDB Operator\n\nThe MySQL NDB Operator is a Kubernetes operator for managing a MySQL NDB Cluster setup inside a Kubernetes Cluster.\n\n## License\n\nCopyright (c) 2021, 2025, Oracle and/or its affiliates.\n\nLicense information can be found in the LICENSE file. This distribution may include materials developed by third parties. For license and attribution notices for these materials, please refer to the LICENSE file.\n\n## Installation\n\n### Prerequisites\n - Kubernetes Version 1.23+\n\n### Install using helm\n\nNdb operator comes with a [Helm](https://helm.sh/docs/intro/quickstart/) chart that can install the NdbCluster CRD, deploy the operator and the webhook server in the K8s cluster.\n\nAdd the NDB Operator helm chart repository :\n\n```sh\nhelm repo add ndb-operator-repo https://mysql.github.io/mysql-ndb-operator/\nhelm repo update\n```\n\nInstall the NDB Operator and other related resources in the `ndb-operator` namespace using :\n\n```sh\nhelm install ndb-operator ndb-operator-repo/ndb-operator \\\n    --namespace=ndb-operator --create-namespace\n```\nMore information on using the helm chart is available at [deploy/charts/ndb-operator/README.md](deploy/charts/ndb-operator/README.md)\n\n### Install using kubectl\n\nCreate custom resource definitions, the roles and deploy the ndb operator using the single YAML file at [deploy/manifests/ndb-operator.yaml](deploy/manifests/ndb-operator.yaml).\nIt creates all the resources, and deploys the NDB Operator in the `ndb-operator` namespace.\n\n```sh\nkubectl apply -f deploy/manifests/ndb-operator.yaml\n```\n\nTo directly apply the manifest file without cloning this entire repository, run :\n```sh\nkubectl apply -f https://raw.githubusercontent.com/mysql/mysql-ndb-operator/main/deploy/manifests/ndb-operator.yaml\n```\n\nTo run the operator in a different namespace, the manifest file has to be updated before applying it to the K8s Server.\nTo modify the install mode from the default cluster-wide scope, you can set the `-cluster-scoped` argument to `false` in the manifest file. Additionally, you can specify a custom namespace to monitor for NdbCluster resource changes using the `-watch-namespace` flag. If a namespace is provided, the NDB Operator will exclusively watch for changes within that namespace. Otherwise, it will default to monitoring the namespace where the operator itself is deployed.\n\n### Verify Installation\n\nOnce installed, either using helm or using the yaml file, the ndb-operator and a webhook server will be running in the K8s server.\nTo verify it, run the following in the namespace they were installed :\n\n```sh\nkubectl get pods -n ndb-operator -l 'app in (ndb-operator,ndb-operator-webhook-server)'\n```\nOutput will be similar to :\n\n```sh\nNAME                                          READY   STATUS    RESTARTS   AGE\nndb-operator-555b7b65-7fmv8                   1/1     Running   0          13s\nndb-operator-webhook-server-d67c97d54-zdhhp   1/1     Running   0          13s\n```\n\nThe pod `ndb-operator-555b7b65-7fmv8` runs the NDB Operator and the other pod `ndb-operator-webhook-server-d67c97d54-zdhhp` runs a server that acts as an admission controller for the NdbCluster resource. The NDB Operator is ready to handle NdbCluster resource when both these pods are ready.\n\n## Deploy the example MySQL NDB Cluster\n\nThe configuration of the MySQL Cluster to be deployed in the K8s Cluster can be defined using the NdbCluster Custom resource. The example at [docs/examples/example-ndb.yaml](docs/examples/example-ndb.yaml) defines a simple MySQL Cluster with 2 data nodes and 2 MySQL Servers. To create this object in the default namespace of the K8s Cluster, run :\n\n```sh\nkubectl apply -f docs/examples/example-ndb.yaml\n```\nThe NDB Operator will now deploy a MySQL Cluster based on the configuration defined in the NdbCluster resource. Checkout the [Getting Started](docs/getting-started.md) wiki for more documentation on configuring and accessing the data from the MySQL Cluster.\n\n## Uninstall the Operator\n\nThe NDB Operator can either be removed using helm :\n\n```sh\nhelm uninstall --namespace=ndb-operator ndb-operator\nkubectl delete customresourcedefinitions ndbclusters.mysql.oracle.com\n```\nNote : The CRD has to be deleted separately as the helm command will not delete it.\n\n(or)\n\nUse the manifest file if the operator was installed using that :\n```sh\nkubectl delete -f deploy/manifests/ndb-operator.yaml\n```\n\n## Contributing\n\nThe MySQL team welcomes ideas, contribution and feedback from the community. Please read the [CONTRIBUTING.md](CONTRIBUTING.md) and [DEVELOPER.md](DEVELOPER.md) files for more information on this topic.\n","funding_links":[],"categories":["🏗相关开源项目"],"sub_categories":["Oracle"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysql%2Fmysql-ndb-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmysql%2Fmysql-ndb-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmysql%2Fmysql-ndb-operator/lists"}