Deploy Splunk POD
Install a Splunk POD cluster from a bastion node using the Splunk Kubernetes Installer.
Deploy a Splunk POD cluster using the Kubernetes Installer for Splunk POD. The installer uses a static cluster configuration file (YAML) as a blueprint for the deployment.
Run pre-flight checks
Verify the integrity of your environment to identify configuration issues early.
The Kubernetes Installer automatically runs a series of pre-flight checks before deploying the cluster to verify the integrity of your environment and catch configuration issues early.
Pre-flight checks include:
-
Static config syntax
-
Valid SSH key + Splunk license
-
Valid app paths + scopes
-
Sufficient hosts for chosen profile
-
All hosts are reachable
-
For each host: SSH access w/ sudo, correct drive mounts, SELinux disabled, Chronyd/NTP running, Correct OS, and Firewall off
You can manually run pre-flight checks independently of a cluster deployment, as follows:
From the bastion node:
./kubernetes-standalone-installer -static.cluster cluster-config.yaml -preflightcheck.only
Validate the cluster
Confirm a successful Splunk POD deployment and access Splunk Enterprise. Allow 10–15 minutes after the initial installation for all cluster components (pods) to reach a fully operational state.
Static cluster configuration file reference
Field definitions, app scopes, and configuration examples for the POD YAML file.
| Field | Value | Description |
|---|---|---|
| apiVersion | enterprise.splunk.com/v1beta1 | Schema version of this configuration file. |
| kind | KubernetesCluster | Defines the type of resource being created. |
| profile | pod-small, pod-medium, pod-large, pod-xlarge |
POD sizing option. |
| licenses | List of file paths | Absolute path to your Splunk Enterprise license file and your ES or ITSI license file on the bastion node. |
| ssh | user and privateKey | The sudo-enabled user and private key path used to access all nodes. |
| certificate | TLS certificate and private key | Configuration for name-based routing using a TLS certificate aligning with customer-managed DNS configurations. |
| controllers | List of 3 IP addresses | Includes the three control plane servers. |
| workers | List of 4+ IP addresses | Includes all search heads, indexers, and volume servers. |
| clustermanager | Nested apps block for the indexer cluster | Configuration for indexer cluster including the cluster manager and indexers. |
| licensemanager | Nested apps block for the license manager. | Configuration for license manager. |
| searchheadcluster | Array of named search head clusters | Configuration for search head clusters. Applies to pod-medium, pod-large, and pod-xlarge options only. |
| standalone | Array of named instances | Configuration for standalone search heads. Applies to pod-small option only. |
About app scopes
The scope determines how the installer distributes an app across the Kubernetes cluster:
- cluster
- The installer deploys the app through the cluster manager (for indexers) or the Search Head Cluster Deployer (for search heads). Use this scope to distribute apps across the indexer tier or search head clusters, including ITSI, if applicable.
- local
- The installer deploys the app only on the selected instance type. Use this scope for standalone search heads to deploy non-ES apps, including ITSI.
- premium
-
Use this scope to deploy the Splunk Enterprise Security (ES) premium app only. The premium scope is supported in
standaloneandsearchheadclusterstanzas.
Configure standalone search heads for pod-small
The pod-small option supports up to two standalone search heads. To enable UI access for this profile, you must configure at least one standalone search head.
When using either ES or ITSI, you can deploy two standalone search heads: the first as an independent search head and the second as a host for either Enterprise Security or ITSI.
To configure these instances, specify the search heads as an array in the standalone stanza of the cluster configuration file, assigning each a unique name.
You can access the first search head UI on port 8000 and the second on port 8001 using any worker node IP address. If you are configuring name-based routing, you can also access standalone search heads using https://<search head name>.<your domain>.
standalone:
- name: es-sh
apps:
local:
- "/path/to/myapp.spl"
premium:
- "/path/to/splunk-es.spl"
- name: my-sh
apps:
local:
- "/path/to/myapp.spl"
Configure SHCs for pod-medium, pod-large, and pod-xlarge
The pod-medium, pod-large, and pod-xlarge options each support up to two search head clusters (SHC). To enable UI access, you must configure at least one SHC.
When using either ES or ITSI, you can deploy two clusters: the first as a standard SHC, and the second for either Enterprise Security or ITSI. Each cluster is fixed at three search heads.
To configure these instances, specify the SHCs as an array in the searchheadcluster stanza of the cluster configuration file, assigning each a unique name.
You can access the first SHC on port 443 and the second on port 8100 using any worker node IP address. If you are configuring name-based routing, you can also access search head clusters using https://<search head cluster name>.<your domain>.
searchheadcluster:
- name: core-shc
apps:
cluster: ["./performance-insights-for-splunk_118.tgz"]
- name: es-shc
apps:
cluster: []
premium: ["./splunk_app_es-8.1.1-176740.tgz"]