Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade ks-installer chart to v3.2.0 #191

Merged
merged 7 commits into from
Nov 25, 2021
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/main/ks-installer/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ type: application
# 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/)
version: 0.2.2
version: 1.0.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it might be better to change the chart version to 0.3.0.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But this update has changed the Values structure which is incompatible with old version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


# 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: 3.1.0
appVersion: 3.2.0
83 changes: 41 additions & 42 deletions src/main/ks-installer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ The following table lists the configurable parameters of the ks-installer chart
Parameter | Description | Default
--- | --- | ---
`image.repository` | The image of ks-installer container | `kubesphere/ks-installer`
`image.tag` | The tag of the ks-installer image | `v3.0.0`
`image.tag` | The tag of the ks-installer image | `v3.2.0`
`image.pullPolicy` | The pull policy of the ks-installer image | `Always`

## KubeSphere Configuration
Expand All @@ -53,51 +53,50 @@ You can set the configuration of kubesphere in `values.yaml`

Parameter | Description | Default
--- | --- | ---
`persistence.storageClass` | Installer will use the default StorageClass, you can also designate another StorageClass| `""`
`authentication.jwtSecret `| Keep the jwtSecret consistent with the host cluster. | `""`
`etcd.monitoring `| Whether to enable etcd monitoring|`false`
`etcd.endpointIps`|etcd address(for etcd cluster,see an example value like `192.168.0.7,192.168.0.8,192.168.0.9`)|`localhost`
`etcd.port`|etcd port (Default port: 2379, you can appoint any other port) | `2379`
`etcd.tlsEnable`|Whether to enable etcd TLS certificate authentication.(true / false)| `true`
`common.redis.enabled`|Whether to install redis|`false`
`common.redis.openldap`|Whether to install openldap|`false`
`common.minioVolumeSize`|Minio volume size (cannot be modified after set)|`20Gi`
`common.openldapVolumeSize`|openldap volume size (cannot be modified after set)|`2Gi`
`common.redisVolumSize`|redis volume size (cannot be modified after set)|`2Gi`
`common.es.elasticsearchMasterVolumeSize`|Volume size of Elasticsearch master nodes (cannot be modified after set)|`4Gi`
`common.es.elasticsearchDataVolumeSize`|Volume size of Elasticsearch data nodes (cannot be modified after set)|`20Gi`
`common.es.logMaxAge`|Log retention time in built-in Elasticsearch (days)|`7`
`common.es.elkPrefix`|redis volume size (cannot be modified after set)|`2Gi`
`console.enableMultiLogin`|Whether to enable multiple point login of one account(true / false)|`false`
`console.port`|Console Port(NodePort)|`30880`
`alerting.enabled`|Whether to install KubeSphere alerting system. It enables Users to customize alerting policies to send messages to receivers in time with different time intervals and alerting levels to choose from. (true / false)|`false`
`auditing.enabled`|Whether to install KubeSphere audit log system. It provides a security-relevant chronological set of records,recording the sequence of activities happened in platform, initiated by different tenants. (true / false)|`false`
`devops.enabled`|Whether to install KubeSphere DevOps System. It provides out-of-box CI/CD system based on Jenkins, and automated workflow tools including Source-to-Image & Binary-to-Image. (true / false) | `false`
`devops.jenkinsMemoryLim`|Jenkins Memory Limit|`2Gi`
`devops.jenkinsMemoryReq`|Jenkins Memory Request|`1500Mi`
`devops.jenkinsVolumeSize`|Jenkins volume size|`8Gi`
`devops.jenkinsJavaOpts_Xms`|Jenkins JVM parameter(Xms)|`512m`
`devops.jenkinsJavaOpts_Xmx`|Jenkins JVM parameter(Xmx)|`512m`
`devops.jenkinsJavaOpts_MaxRAM`|Jenkins JVM parameter(MaxRAM)|`2Gi`
`events.enabled`|Whether to install KubeSphere events system. It provides a graphical web console for Kubernetes Events exporting, filtering and alerting in multi-tenant Kubernetes clusters. (true / false)|`false`
`logging.enabled`|Whether to install KubeSphere logging system. Flexible logging functions are provided for log query, collection and management in a unified console. Additional log collectors can be added, such as Elasticsearch, Kafka and Fluentd. (true / false)|`false`
`logging.logsidecar.replicas`|Logsidecar replicas|`2`
`metrics_server.enabled`|Whether to install metrics_servertrue (true / false)| `false`
`monitoring.endpoint`|Prometheus endpoint to get metrics data|`http://prometheus-operated.kubesphere-monitoring-system.svc:9090`
`monitoring.storageClass`|If there is an independent StorageClass you need for Prometheus, you can specify it here| `""`
`monitoring.prometheusMemoryRequest`|Prometheus memory request|`400Mi`
`monitoring.prometheusVolumeSize`|Prometheus volume size|`20Gi`
`multicluster.clusterRole`|You can install a solo cluster, or specify it as the role of host or member cluster. (host / member / none) |`none`
`network.networkpolicy.enabled` |Network policies allow network isolation within the same cluster, which means firewalls can be set up between certain instances (Pods). (true / false) |`false`
`network.ippool.type` |Specify "calico" for this field if Calico is used as your CNI plugin. "none" means that Pod IP Pools are disabled.|`none`
`network.topology.type` | Specify "weave-scope" for this field to enable Service Topology. "none" means that Service Topology is disabled.|`none`
`openpitrix.store.enabled `|Enable or disable the KubeSphere App Store. (true / false) |`false`
`servicemesh.enabled`|Whether to install KubeSphere Service Mesh (Istio-based). It provides fine-grained traffic management, observability and tracing, and offer visualization for traffic topology. (true / false) |`false`
`cc.persistence.storageClass` | Installer will use the default StorageClass, you can also designate another StorageClass| `""`
`cc.authentication.jwtSecret `| Keep the jwtSecret consistent with the host cluster. | `""`
`cc.etcd.monitoring `| Whether to enable etcd monitoring|`false`
`cc.etcd.endpointIps`|etcd address(for etcd cluster,see an example value like `192.168.0.7,192.168.0.8,192.168.0.9`)|`localhost`
`cc.etcd.port`|etcd port (Default port: 2379, you can appoint any other port) | `2379`
`cc.etcd.tlsEnable`|Whether to enable etcd TLS certificate authentication.(true / false)| `true`
`cc.common.redis.enabled`|Whether to install redis|`false`
`cc.common.redis.volumeSize`|redis volume size (cannot be modified after set)|`2Gi`
`cc.common.openldap.enabled`|Whether to install openldap|`false`
`cc.common.openldap.volumeSize`|openldap volume size (cannot be modified after set)|`2Gi`
`cc.common.minio.volumeSize`|Minio volume size (cannot be modified after set)|`20Gi`
`cc.common.es.master.volumeSize`|Volume size of Elasticsearch master nodes (cannot be modified after set)|`4Gi`
`cc.common.es.data.volumeSize`|Volume size of Elasticsearch data nodes (cannot be modified after set)|`20Gi`
`cc.common.es.logMaxAge`|Log retention time in built-in Elasticsearch (days)|`7`
`cc.common.es.elkPrefix`|redis volume size (cannot be modified after set)|`2Gi`
`cc.common.core.console.enableMultiLogin`|Whether to enable multiple point login of one account(true / false)|`false`
`cc.common.core.console.port`|Console Port(NodePort)|`30880`
`cc.alerting.enabled`|Whether to install KubeSphere alerting system. It enables Users to customize alerting policies to send messages to receivers in time with different time intervals and alerting levels to choose from. (true / false)|`false`
`cc.auditing.enabled`|Whether to install KubeSphere audit log system. It provides a security-relevant chronological set of records,recording the sequence of activities happened in platform, initiated by different tenants. (true / false)|`false`
`cc.devops.enabled`|Whether to install KubeSphere DevOps System. It provides out-of-box CI/CD system based on Jenkins, and automated workflow tools including Source-to-Image & Binary-to-Image. (true / false) | `false`
`cc.devops.jenkinsMemoryLim`|Jenkins Memory Limit|`2Gi`
`cc.devops.jenkinsMemoryReq`|Jenkins Memory Request|`1500Mi`
`cc.devops.jenkinsVolumeSize`|Jenkins volume size|`8Gi`
`cc.devops.jenkinsJavaOpts_Xms`|Jenkins JVM parameter(Xms)|`512m`
`cc.devops.jenkinsJavaOpts_Xmx`|Jenkins JVM parameter(Xmx)|`512m`
`cc.devops.jenkinsJavaOpts_MaxRAM`|Jenkins JVM parameter(MaxRAM)|`2Gi`
`cc.events.enabled`|Whether to install KubeSphere events system. It provides a graphical web console for Kubernetes Events exporting, filtering and alerting in multi-tenant Kubernetes clusters. (true / false)|`false`
`cc.logging.enabled`|Whether to install KubeSphere logging system. Flexible logging functions are provided for log query, collection and management in a unified console. Additional log collectors can be added, such as Elasticsearch, Kafka and Fluentd. (true / false)|`false`
`cc.logging.logsidecar.replicas`|Logsidecar replicas|`2`
`cc.metrics_server.enabled`|Whether to install metrics_servertrue (true / false)| `false`
`cc.monitoring.storageClass`|If there is an independent StorageClass you need for Prometheus, you can specify it here| `""`
`cc.monitoring.gpu.nvidia_dcgm_exporter.enabled`|Whether to install GPU monitoring-related plugins.| `false`
`cc.multicluster.clusterRole`|You can install a solo cluster, or specify it as the role of host or member cluster. (host / member / none) |`none`
`cc.network.networkpolicy.enabled` |Network policies allow network isolation within the same cluster, which means firewalls can be set up between certain instances (Pods). (true / false) |`false`
`cc.network.ippool.type` |Specify "calico" for this field if Calico is used as your CNI plugin. "none" means that Pod IP Pools are disabled.|`none`
`cc.network.topology.type` | Specify "weave-scope" for this field to enable Service Topology. "none" means that Service Topology is disabled.|`none`
`cc.openpitrix.store.enabled `|Enable or disable the KubeSphere App Store. (true / false) |`false`
`cc.servicemesh.enabled`|Whether to install KubeSphere Service Mesh (Istio-based). It provides fine-grained traffic management, observability and tracing, and offer visualization for traffic topology. (true / false) |`false`
`cc.kubeedge.enabled`|Add edge nodes to your cluster and deploy workloads on edge nodes. (true / false) |`false`

Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example:

```console
$ helm install --name my-release ks-installer --set persistence.storageClass=local
$ helm install --name my-release ks-installer --set cc.persistence.storageClass=local
```

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example:
Expand Down
2 changes: 1 addition & 1 deletion src/main/ks-installer/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
1. Get the application URL by running these commands:
{{- if .Values.console.port }}
{{- if .Values.cc.common.core.console.port }}
export NODE_PORT=$(kubectl get --namespace kubesphere-system -o jsonpath="{.spec.ports[0].nodePort}" services ks-console)
export NODE_IP=$(kubectl get nodes --namespace kubesphere-system-o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
Expand Down
79 changes: 1 addition & 78 deletions src/main/ks-installer/templates/clusterconfiguration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,82 +9,5 @@ metadata:
labels:
version: {{ .Chart.AppVersion }}
spec:
{{- if .Values.registry}}
local_registry: {{ .Values.registry }}
{{- end}}
persistence:
storageClass: "{{ .Values.persistence.storageClass}}"
authentication:
jwtSecret: "{{ .Values.authentication.jwtSecret }}"
etcd:
monitoring: {{ .Values.etcd.monitoring }}
endpointIps: {{ .Values.etcd.endpointIps }}
port: 2379
tlsEnable: {{ .Values.etcd.tlsEnable }}
common:
redis:
enabled: {{ .Values.common.redis.enabled }}
openldap:
enabled: {{ .Values.common.openldap.enabled }}
minioVolumeSize: {{ .Values.common.minioVolumeSize }}
openldapVolumeSize: {{ .Values.common.openldapVolumeSize }}
redisVolumSize: {{ .Values.common.redisVolumSize }}
es:
elasticsearchMasterVolumeSize: {{ .Values.common.es.elasticsearchMasterVolumeSize }}
elasticsearchDataVolumeSize: {{ .Values.common.es.elasticsearchDataVolumeSize }}
logMaxAge: {{ .Values.common.es.logMaxAge }}
elkPrefix: {{ .Values.common.es.elkPrefix }}
basicAuth:
enabled: {{ .Values.common.es.basicAuth.enabled }}
username: "{{ .Values.common.es.basicAuth.username }}"
password: "{{ .Values.common.es.basicAuth.password }}"
externalElasticsearchUrl: "{{ .Values.common.es.externalElasticsearchUrl }}"
externalElasticsearchPort: "{{ .Values.common.es.externalElasticsearchPort }}"
console:
enableMultiLogin: {{ .Values.console.enableMultiLogin }}
port: {{ .Values.console.port }}
alerting:
enabled: {{ .Values.alerting.enabled }}
auditing:
enabled: {{ .Values.auditing.enabled }}
devops:
enabled: {{ .Values.devops.enabled }}
jenkinsMemoryLim: {{ .Values.devops.jenkinsMemoryLim }}
jenkinsMemoryReq: {{ .Values.devops.jenkinsMemoryReq }}
jenkinsVolumeSize: {{ .Values.devops.jenkinsVolumeSize }}
jenkinsJavaOpts_Xms: {{ .Values.devops.jenkinsJavaOpts_Xms }}
jenkinsJavaOpts_Xmx: {{ .Values.devops.jenkinsJavaOpts_Xmx }}
jenkinsJavaOpts_MaxRAM: {{ .Values.devops.jenkinsJavaOpts_MaxRAM }}
events:
enabled: {{ .Values.events.enabled }}
ruler:
enabled: {{ .Values.events.ruler.enabled }}
replicas: {{ .Values.events.ruler.replicas }}
logging:
enabled: {{ .Values.logging.enabled }}
logsidecar:
enabled: {{ .Values.logging.logsidecar.enabled }}
replicas: {{ .Values.logging.logsidecar.replicas }}
metrics_server:
enabled: {{ .Values.logging.enabled }}
monitoring:
storageClass: "{{ .Values.monitoring.storageClass }}"
prometheusMemoryRequest: {{ .Values.monitoring.prometheusMemoryRequest }}
prometheusVolumeSize: {{ .Values.monitoring.prometheusVolumeSize }}
multicluster:
clusterRole: {{ .Values.multicluster.clusterRole }}
network:
networkpolicy:
enabled: {{ .Values.network.networkpolicy.enabled }}
ippool:
type: {{ .Values.network.ippool.type }}
topology:
type: {{ .Values.network.topology.type }}
openpitrix:
store:
enabled: {{ .Values.openpitrix.store.enabled }}
servicemesh:
enabled: {{ .Values.servicemesh.enabled }}
kubeedge:
{{ toYaml .Values.kubeedge | indent 4 }}
{{ toYaml .Values.cc | indent 2 }}
{{ end -}}
Loading