Skip to content

Commit

Permalink
Merge pull request #3524 from calvin0327/add-karmada-operator-chart
Browse files Browse the repository at this point in the history
karmada operator: add karmada operator chart
  • Loading branch information
karmada-bot committed May 24, 2023
2 parents d01ded2 + d8fc313 commit 81d231a
Show file tree
Hide file tree
Showing 14 changed files with 1,947 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ _output/

# sub chart tgz
charts/karmada/charts
charts/karmada-operator/charts
21 changes: 21 additions & 0 deletions charts/karmada-operator/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
6 changes: 6 additions & 0 deletions charts/karmada-operator/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.17.1
digest: sha256:91bdebcf473f5da3c018dd74f25fab166d4faaa6be86d492f5caa50fc63f93fb
generated: "2023-05-11T18:40:11.244865+08:00"
40 changes: 40 additions & 0 deletions charts/karmada-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
apiVersion: v2
name: karmada-operator
description: A Helm chart for karmada-operator

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# The optional kubeVersion field can define semver constraints on supported Kubernetes versions.
# Helm will validate the version constraints when installing the chart and fail if the cluster
# runs an unsupported Kubernetes version.
kubeVersion: ">= 1.16.0-0"

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
# We use `0.0.0` as the latest chart version.
version: 0.0.1

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: latest

# This is karmada dependencies
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.x.x

# This is karmada maintainers
maintainers:
- name: calvin0327
email: wen.chen@daocloud.io
80 changes: 80 additions & 0 deletions charts/karmada-operator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# karmada-operator

![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)

The Karmada operator is a method for installing, upgrading, and deleting Karmada instances. It builds upon the basic Karmada resource and controller concepts and provides convenience to centrally manage the entire lifecycle of Karmada instances in a global cluster. With the operator, you can extend Karmada with custom resources (CRs) to manage your instances not only in local clusters but also in remote clusters.

This page provides instructions on how to install, upgrade, and uninstall Karmada-operator.

## Prerequisites

- Kubernetes 1.16+
- helm v3+

| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | common | 1.x.x |

## Installing or upgrading the Chart

Go to the root directory of the `karmada-io/karmada` repo. To install or upgrade the Helm Chart with
the release name `karmada-operator` in the `karmada-system` namespace.

```bash
helm upgrade --install karmada-operator --create-namespace ./charts/karmada-operator \
--set operator.replicaCount=<replica_count> \
--set operator.image.registry=<image_registry> \
--set operator.image.repository=<image_repository> \
--set operator.image.tag=<image_tag>
-n karmada-system --version <chart_version>
```

For example, you can simply run the helm command:

```bash
helm install karmada-operator -n karmada-system --create-namespace --dependency-update ./charts/karmada-operator
```

Then, check the status of `karmada-operator` pod.

```console
kubectl get po -n karmada-system
NAME READY STATUS RESTARTS AGE
karmada-operator-df95586f6-d5bll 1/1 Running 0 6s
```

## Uninstalling the Chart

To uninstall/delete the `karmada-operator` helm release in the `karmada-system` namespace, run:

```bash
helm uninstall karmada-operator -n karmada-system
```

The command removes all the Kubernetes components associated with the chart and deletes the release.


## Values

This chart supports the following values:

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| global.imagePullSecrets | list | `[]` | |
| global.imageRegistry | string | `""` | |
| operator.affinity | object | `{}` | |
| operator.image.pullPolicy | string | `"IfNotPresent"` | |
| operator.image.pullSecrets | list | `[]` | |
| operator.image.registry | string | `"docker.io"` | |
| operator.image.repository | string | `"karmada/karmada-operator"` | |
| operator.image.tag | string | `"latest"` | |
| operator.labels | object | `{}` | |
| operator.nodeSelector | object | `{}` | |
| operator.podAnnotations | object | `{}` | |
| operator.podLabels | object | `{}` | |
| operator.replicaCount | int | `1` | |
| operator.resources | object | `{}` | |
| operator.strategy.rollingUpdate.maxSurge | string | `"50%"` | |
| operator.strategy.rollingUpdate.maxUnavailable | int | `0` | |
| operator.strategy.type | string | `"RollingUpdate"` | |
| operator.tolerations | list | `[]` | |
Loading

0 comments on commit 81d231a

Please sign in to comment.