在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):karmada-io/karmada开源软件地址(OpenSource Url):https://github.com/karmada-io/karmada开源编程语言(OpenSource Language):Go 93.7%开源软件介绍(OpenSource Introduction):KarmadaKarmada: Open, Multi-Cloud, Multi-Cluster Kubernetes OrchestrationKarmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes. Karmada aims to provide turnkey automation for multi-cluster application management in multi-cloud and hybrid cloud scenarios, with key features such as centralized multi-cloud management, high availability, failure recovery, and traffic scheduling. Karmada is a sandbox project of the Cloud Native Computing Foundation (CNCF). Why Karmada:
Notice: this project is developed in continuation of Kubernetes Federation v1 and v2. Some basic concepts are inherited from these two versions. ArchitectureThe Karmada Control Plane consists of the following components:
ETCD stores the Karmada API objects, the API Server is the REST endpoint all other components talk to, and the Karmada Controller Manager performs operations based on the API objects you create through the API server. The Karmada Controller Manager runs the various controllers, the controllers watch Karmada objects and then talk to the underlying clusters' API servers to create regular Kubernetes resources.
ConceptsResource template: Karmada uses Kubernetes Native API definition for federated resource template, to make it easy to integrate with existing tools that already adopt on Kubernetes Propagation Policy: Karmada offers a standalone Propagation(placement) Policy API to define multi-cluster scheduling and spreading requirements.
Override Policy: Karmada provides standalone Override Policy API for specializing cluster relevant configuration automation. E.g.:
The following diagram shows how Karmada resources are involved when propagating resources to member clusters. Quick StartThis guide will cover:
PrerequisitesInstall the Karmada control plane1. Clone this repo to your machine:
2. Change to the karmada directory:
3. Deploy and run Karmada control plane:run the following script:
This script will do following tasks for you:
If everything goes well, at the end of the script output, you will see similar messages as follows:
There are two contexts in Karmada:
The DemoPropagate applicationIn the following steps, we are going to propagate a deployment by Karmada. 1. Create nginx deployment in Karmada.First, create a deployment named
2. Create PropagationPolicy that will propagate nginx to member clusterThen, we need to create a policy to propagate the deployment to our member cluster.
3. Check the deployment status from KarmadaYou can check deployment status from Karmada, don't need to access member cluster:
Kubernetes compatibility
Key:
MeetingRegular Community Meeting:
Resources: ContactIf you have questions, feel free to reach out to us in the following ways: Talks and References
For blogs please refer to website. ContributingIf you're interested in being a contributor and want to get involved in developing the Karmada code, please see CONTRIBUTING for details on submitting patches and the contribution workflow. LicenseKarmada is under the Apache 2.0 license. See the LICENSE file for details. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论