```yaml apiVersion: kubekey.kubesphere.io/v1alpha1 kind: Cluster metadata: name: example spec: hosts: - {name: node1, address: 172.16.0.2, internalAddress: 172.16.0.2, port: 8022, user: ubuntu, password: Qcloud@123} # Assume that the default port for SSH is 22, otherwise add the port number after the IP address as above - {name: node2, address: 172.16.0.3, internalAddress: 172.16.0.3, password: Qcloud@123} # the default root user - {name: node3, address: 172.16.0.4, internalAddress: 172.16.0.4, privateKeyPath: "~/.ssh/id_rsa"} # password-less login with SSH keys roleGroups: etcd: - node1 master: - node1 - node[2:10] # the nodes from node2, node3,..., to node10 worker: - node1 - node[10:100] controlPlaneEndpoint: domain: lb.kubesphere.local address: "" port: "6443" kubernetes: version: v1.17.9 imageRepo: kubesphere clusterName: cluster.local masqueradeAll: false # masqueradeAll tells kube-proxy to SNAT everything if using the pure iptables proxy mode. [Default: false] maxPods: 110 # maxPods is the number of pods that can run on this Kubelet. [Default: 110] nodeCidrMaskSize: 24 # internal network node size allocation. This is the size allocated to each node on your network. [Default: 24] proxyMode: ipvs # mode specifies which proxy mode to use. [Default: ipvs] network: plugin: calico calico: ipipMode: Always # IPIP Mode to use for the IPv4 POOL created at start up. If set to a value other than Never, vxlanMode should be set to "Never". [Always | CrossSubnet | Never] [Default: Always] vxlanMode: Never # VXLAN Mode to use for the IPv4 POOL created at start up. If set to a value other than Never, ipipMode should be set to "Never". [Always | CrossSubnet | Never] [Default: Never] vethMTU: 1440 # The maximum transmission unit (MTU) setting determines the largest packet size that can be transmitted through your network. [Default: 1440] kubePodsCIDR: 10.233.64.0/18 kubeServiceCIDR: 10.233.0.0/18 registry: registryMirrors: [] insecureRegistries: [] privateRegistry: "" addons: [] --- apiVersion: installer.kubesphere.io/v1alpha1 kind: ClusterConfiguration metadata: name: ks-installer namespace: kubesphere-system labels: version: v3.0.0 spec: local_registry: "" persistence: storageClass: "" authentication: jwtSecret: "" etcd: monitoring: true # Whether to install etcd monitoring dashboard endpointIps: 192.168.0.7,192.168.0.8,192.168.0.9 # etcd cluster endpointIps port: 2379 # etcd port tlsEnable: true common: mysqlVolumeSize: 20Gi # MySQL PVC size minioVolumeSize: 20Gi # Minio PVC size etcdVolumeSize: 20Gi # etcd PVC size openldapVolumeSize: 2Gi # openldap PVC size redisVolumSize: 2Gi # Redis PVC size es: # Storage backend for logging, tracing, events and auditing. elasticsearchMasterReplicas: 1 # total number of master nodes, it's not allowed to use even number elasticsearchDataReplicas: 1 # total number of data nodes elasticsearchMasterVolumeSize: 4Gi # Volume size of Elasticsearch master nodes elasticsearchDataVolumeSize: 20Gi # Volume size of Elasticsearch data nodes logMaxAge: 7 # Log retention time in built-in Elasticsearch, it is 7 days by default. elkPrefix: logstash # The string making up index names. The index name will be formatted as ks--log # externalElasticsearchUrl: # externalElasticsearchPort: console: enableMultiLogin: false # enable/disable multiple sing on, it allows an account can be used by different users at the same time. port: 30880 alerting: # 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. enabled: false auditing: # 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. enabled: false devops: # 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 enabled: false jenkinsMemoryLim: 2Gi # Jenkins memory limit jenkinsMemoryReq: 1500Mi # Jenkins memory request jenkinsVolumeSize: 8Gi # Jenkins volume size jenkinsJavaOpts_Xms: 512m # The following three fields are JVM parameters jenkinsJavaOpts_Xmx: 512m jenkinsJavaOpts_MaxRAM: 2g events: # Whether to install KubeSphere events system. It provides a graphical web console for Kubernetes Events exporting, filtering and alerting in multi-tenant Kubernetes clusters. enabled: false logging: # 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. enabled: false logsidecarReplicas: 2 metrics_server: # Whether to install metrics-server. IT enables HPA (Horizontal Pod Autoscaler). enabled: true monitoring: # prometheusReplicas: 1 # Prometheus replicas are responsible for monitoring different segments of data source and provide high availability as well. prometheusMemoryRequest: 400Mi # Prometheus request memory prometheusVolumeSize: 20Gi # Prometheus PVC size alertmanagerReplicas: 1 # AlertManager Replicas multicluster: clusterRole: none # host | member | none # You can install a solo cluster, or specify it as the role of host or member cluster networkpolicy: # Network policies allow network isolation within the same cluster, which means firewalls can be set up between certain instances (Pods). enabled: false notification: # Email Notification support for the legacy alerting system, should be enabled/disabled together with the above alerting option enabled: false openpitrix: # Whether to install KubeSphere Application Store. It provides an application store for Helm-based applications, and offer application lifecycle management enabled: false servicemesh: # Whether to install KubeSphere Service Mesh (Istio-based). It provides fine-grained traffic management, observability and tracing, and offer visualization for traffic topology enabled: false ```