forked from openkruise/kruise-game
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: FillZpp <[email protected]>
- Loading branch information
Showing
22 changed files
with
5,133 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
../versions/1.0.0 | ||
../versions/0.10.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
apiVersion: v1 | ||
name: kruise | ||
description: Helm chart for kruise components | ||
version: 0.10.2 | ||
icon: https://openkruise.io/img/openkruise-logo-bg.jpg | ||
keywords: | ||
- openkruise | ||
- kubernetes | ||
- kruise | ||
- workload | ||
- statefulset | ||
- sidecar | ||
- job | ||
- deployment | ||
- cloneset | ||
home: https://openkruise.io | ||
sources: | ||
- https://github.com/openkruise/kruise | ||
annotations: | ||
artifacthub.io/changes: | | ||
- "[Changed]: https://github.com/openkruise/kruise/blob/master/CHANGELOG.md" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# Kruise | ||
|
||
## Configuration | ||
|
||
The following table lists the configurable parameters of the kruise chart and their default values. | ||
|
||
| Parameter | Description | Default | | ||
| ----------------------------------------- | ------------------------------------------------------------ | ----------------------------- | | ||
| `featureGates` | Feature gates for Kruise, empty string means all enabled | `` | | ||
| `installation.namespace` | namespace for kruise installation | `kruise-system` | | ||
| `manager.log.level` | Log level that kruise-manager printed | `4` | | ||
| `manager.replicas` | Replicas of kruise-controller-manager deployment | `2` | | ||
| `manager.image.repository` | Repository for kruise-manager image | `openkruise/kruise-manager` | | ||
| `manager.image.tag` | Tag for kruise-manager image | `v0.10.2` | | ||
| `manager.resources.limits.cpu` | CPU resource limit of kruise-manager container | `100m` | | ||
| `manager.resources.limits.memory` | Memory resource limit of kruise-manager container | `256Mi` | | ||
| `manager.resources.requests.cpu` | CPU resource request of kruise-manager container | `100m` | | ||
| `manager.resources.requests.memory` | Memory resource request of kruise-manager container | `256Mi` | | ||
| `manager.metrics.port` | Port of metrics served | `8080` | | ||
| `manager.webhook.port` | Port of webhook served | `9443` | | ||
| `manager.nodeAffinity` | Node affinity policy for kruise-manager pod | `{}` | | ||
| `manager.nodeSelector` | Node labels for kruise-manager pod | `{}` | | ||
| `manager.tolerations` | Tolerations for kruise-manager pod | `[]` | | ||
| `daemon.log.level` | Log level that kruise-daemon printed | `4` | | ||
| `daemon.port` | Port of metrics and healthz that kruise-daemon served | `10221` | | ||
| `daemon.resources.limits.cpu` | CPU resource limit of kruise-daemon container | `50m` | | ||
| `daemon.resources.limits.memory` | Memory resource limit of kruise-daemon container | `128Mi` | | ||
| `daemon.resources.requests.cpu` | CPU resource request of kruise-daemon container | `0` | | ||
| `daemon.resources.requests.memory` | Memory resource request of kruise-daemon container | `0` | | ||
| `daemon.affinity` | Affinity policy for kruise-daemon pod | `{}` | | ||
| `daemon.socketLocation` | Location of the container manager control socket | `/var/run` | | ||
| `webhookConfiguration.failurePolicy.pods` | The failurePolicy for pods in mutating webhook configuration | `Ignore` | | ||
| `webhookConfiguration.timeoutSeconds` | The timeoutSeconds for all webhook configuration | `30` | | ||
| `crds.managed` | Kruise will not install CRDs with chart if this is false | `true` | | ||
| `manager.hostNetwork` | Whether kruise-manager pod should run with hostnetwork | `false` | | ||
|
||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, | ||
|
||
### Optional: feature-gate | ||
|
||
Feature-gate controls some influential features in Kruise: | ||
|
||
| Name | Description | Default | Effect (if closed) | | ||
| ---------------------- | ------------------------------------------------------------ | ------- | -------------------------------------- | ||
| `PodWebhook` | Whether to open a webhook for Pod **create** | `true` | SidecarSet/KruisePodReadinessGate disabled | | ||
| `KruiseDaemon` | Whether to deploy `kruise-daemon` DaemonSet | `true` | ImagePulling/ContainerRecreateRequest disabled | | ||
| `DaemonWatchingPod` | Should each `kruise-daemon` watch pods on the same node | `true` | For in-place update with same imageID or env from labels/annotations | | ||
| `CloneSetShortHash` | Enables CloneSet controller only set revision hash name to pod label | `false` | CloneSet name can not be longer than 54 characters | | ||
| `KruisePodReadinessGate` | Enables Kruise webhook to inject 'KruisePodReady' readiness-gate to all Pods during creation | `false` | The readiness-gate will only be injected to Pods created by Kruise workloads | | ||
| `PreDownloadImageForInPlaceUpdate` | Enables CloneSet controller to create ImagePullJobs to pre-download images for in-place update | `false` | No image pre-download for in-place update | | ||
| `CloneSetPartitionRollback` | Enables CloneSet controller to rollback Pods to currentRevision when number of updateRevision pods is bigger than (replicas - partition) | `false` | CloneSet will only update Pods to updateRevision | | ||
| `ResourcesDeletionProtection` | Enables protection for resources deletion | `false` | No protection for resources deletion | | ||
| `TemplateNoDefaults` | Whether to disable defaults injection for pod/pvc template in workloads | `false` | Should not close this feature if it has open | | ||
| `PodUnavailableBudgetDeleteGate` | Enables PodUnavailableBudget for pod deletion, eviction | `false` | No protection for pod deletion, eviction | | ||
| `PodUnavailableBudgetUpdateGate` | Enables PodUnavailableBudget for pod.Spec update | `false` | No protection for in-place update | | ||
| `WorkloadSpread` | Enables WorkloadSpread to manage multi-domain and elastic deploy | `false` | WorkloadSpread disabled | | ||
|
||
If you want to configure the feature-gate, just set the parameter when install or upgrade. Such as: | ||
|
||
```bash | ||
$ helm install kruise https://... --set featureGates="ResourcesDeletionProtection=true\,PreDownloadImageForInPlaceUpdate=true" | ||
... | ||
``` | ||
|
||
If you want to enable all feature-gates, set the parameter as `featureGates=AllAlpha=true`. | ||
|
||
### Optional: the local image for China | ||
|
||
If you are in China and have problem to pull image from official DockerHub, you can use the registry hosted on Alibaba Cloud: | ||
|
||
```bash | ||
$ helm install kruise https://... --set manager.image.repository=openkruise-registry.cn-hangzhou.cr.aliyuncs.com/openkruise/kruise-manager | ||
... | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Test with default values |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
{{/* vim: set filetype=mustache: */}} | ||
{{/* | ||
Expand the name of the chart. | ||
*/}} | ||
{{- define "kruise.name" -}} | ||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create a default fully qualified app name. | ||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | ||
If release name contains chart name it will be used as a full name. | ||
*/}} | ||
{{- define "kruise.fullname" -}} | ||
{{- if .Values.fullnameOverride -}} | ||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- $name := default .Chart.Name .Values.nameOverride -}} | ||
{{- if contains $name .Release.Name -}} | ||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}} | ||
{{- else -}} | ||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} | ||
{{- end -}} | ||
{{- end -}} | ||
|
||
{{/* | ||
Create chart name and version as used by the chart label. | ||
*/}} | ||
{{- define "kruise.chart" -}} | ||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} |
177 changes: 177 additions & 0 deletions
177
versions/0.10.2/templates/apps.kruise.io_advancedcronjobs.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
{{- if .Values.crds.managed }} | ||
|
||
--- | ||
apiVersion: apiextensions.k8s.io/v1beta1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.2.9 | ||
creationTimestamp: null | ||
name: advancedcronjobs.apps.kruise.io | ||
spec: | ||
additionalPrinterColumns: | ||
- JSONPath: .spec.schedule | ||
description: The schedule of advanced cron job. | ||
name: Schedule | ||
type: string | ||
- JSONPath: .status.type | ||
description: Type of cron job. | ||
name: Type | ||
type: string | ||
- JSONPath: .status.lastScheduleTime | ||
description: The last time at which job was scheduled. | ||
name: LastScheduleTime | ||
type: date | ||
- JSONPath: .metadata.creationTimestamp | ||
description: CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. | ||
name: AGE | ||
type: date | ||
group: apps.kruise.io | ||
names: | ||
kind: AdvancedCronJob | ||
listKind: AdvancedCronJobList | ||
plural: advancedcronjobs | ||
shortNames: | ||
- acj | ||
singular: advancedcronjob | ||
scope: Namespaced | ||
subresources: | ||
status: {} | ||
validation: | ||
openAPIV3Schema: | ||
description: AdvancedCronJob is the Schema for the advancedcronjobs API | ||
properties: | ||
apiVersion: | ||
description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' | ||
type: string | ||
kind: | ||
description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' | ||
type: string | ||
metadata: | ||
type: object | ||
spec: | ||
description: AdvancedCronJobSpec defines the desired state of AdvancedCronJob | ||
properties: | ||
concurrencyPolicy: | ||
description: 'Specifies how to treat concurrent executions of a Job. Valid values are: - "Allow" (default): allows CronJobs to run concurrently; - "Forbid": forbids concurrent runs, skipping next run if previous run hasn''t finished yet; - "Replace": cancels currently running job and replaces it with a new one' | ||
enum: | ||
- Allow | ||
- Forbid | ||
- Replace | ||
type: string | ||
failedJobsHistoryLimit: | ||
description: The number of failed finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. | ||
format: int32 | ||
minimum: 0 | ||
type: integer | ||
paused: | ||
description: Paused will pause the cron job. | ||
type: boolean | ||
schedule: | ||
description: The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. | ||
minLength: 0 | ||
type: string | ||
startingDeadlineSeconds: | ||
description: Optional deadline in seconds for starting the job if it misses scheduled time for any reason. Missed jobs executions will be counted as failed ones. | ||
format: int64 | ||
minimum: 0 | ||
type: integer | ||
successfulJobsHistoryLimit: | ||
description: The number of successful finished jobs to retain. This is a pointer to distinguish between explicit zero and not specified. | ||
format: int32 | ||
minimum: 0 | ||
type: integer | ||
template: | ||
description: Specifies the job that will be created when executing a CronJob. | ||
properties: | ||
broadcastJobTemplate: | ||
description: Specifies the broadcastjob that will be created when executing a BroadcastCronJob. | ||
properties: | ||
metadata: | ||
description: Standard object's metadata of the jobs created from this template. | ||
type: object | ||
spec: | ||
description: Specification of the desired behavior of the broadcastjob. | ||
properties: | ||
completionPolicy: | ||
description: CompletionPolicy indicates the completion policy of the job. Default is Always CompletionPolicyType | ||
properties: | ||
activeDeadlineSeconds: | ||
description: ActiveDeadlineSeconds specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer. Only works for Always type. | ||
format: int64 | ||
type: integer | ||
ttlSecondsAfterFinished: | ||
description: ttlSecondsAfterFinished limits the lifetime of a Job that has finished execution (either Complete or Failed). If this field is set, ttlSecondsAfterFinished after the Job finishes, it is eligible to be automatically deleted. When the Job is being deleted, its lifecycle guarantees (e.g. finalizers) will be honored. If this field is unset, the Job won't be automatically deleted. If this field is set to zero, the Job becomes eligible to be deleted immediately after it finishes. This field is alpha-level and is only honored by servers that enable the TTLAfterFinished feature. Only works for Always type | ||
format: int32 | ||
type: integer | ||
type: | ||
description: Type indicates the type of the CompletionPolicy Default is Always | ||
type: string | ||
type: object | ||
failurePolicy: | ||
description: FailurePolicy indicates the behavior of the job, when failed pod is found. | ||
properties: | ||
restartLimit: | ||
description: RestartLimit specifies the number of retries before marking the pod failed. | ||
format: int32 | ||
type: integer | ||
type: | ||
description: Type indicates the type of FailurePolicyType. | ||
type: string | ||
type: object | ||
parallelism: | ||
anyOf: | ||
- type: integer | ||
- type: string | ||
description: Parallelism specifies the maximum desired number of pods the job should run at any given time. The actual number of pods running in steady state will be less than this number when the work left to do is less than max parallelism. Not setting this value means no limit. | ||
x-kubernetes-int-or-string: true | ||
paused: | ||
description: Paused will pause the job. | ||
type: boolean | ||
template: | ||
description: Template describes the pod that will be created when executing a job. | ||
type: object | ||
x-kubernetes-preserve-unknown-fields: true | ||
required: | ||
- template | ||
type: object | ||
type: object | ||
jobTemplate: | ||
description: Specifies the job that will be created when executing a CronJob. | ||
type: object | ||
x-kubernetes-preserve-unknown-fields: true | ||
type: object | ||
required: | ||
- schedule | ||
- template | ||
type: object | ||
status: | ||
description: AdvancedCronJobStatus defines the observed state of AdvancedCronJob | ||
properties: | ||
active: | ||
description: A list of pointers to currently running jobs. | ||
items: | ||
description: 'ObjectReference contains enough information to let you inspect or modify the referred object. --- New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs. 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage. 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted". Those cannot be well described when embedded. 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen. 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple and the version of the actual struct is irrelevant. 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type will affect numerous schemas. Don''t make new APIs embed an underspecified API type they do not control. Instead of using this type, create a locally provided and used type that is well-focused on your reference. For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .' | ||
type: object | ||
x-kubernetes-preserve-unknown-fields: true | ||
type: array | ||
lastScheduleTime: | ||
description: Information when was the last time the job was successfully scheduled. | ||
format: date-time | ||
type: string | ||
type: | ||
type: string | ||
type: object | ||
type: object | ||
version: v1alpha1 | ||
versions: | ||
- name: v1alpha1 | ||
served: true | ||
storage: true | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: [] | ||
storedVersions: [] | ||
{{- end }} |
Oops, something went wrong.