mirror of
https://github.com/kubesphere/kubekey.git
synced 2025-12-26 09:32:52 +00:00
118 lines
6.6 KiB
Markdown
118 lines
6.6 KiB
Markdown
```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-<elk_prefix>-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
|
||
```
|