When deploying Aspire in a Kubernetes cluster.
Prerequisites
The current guide assumes that a Elasticsearch/Kibana services have already been deployed, and basic authentication is used.
See ECK quickstart on how to deploy Elasticsearch / Kibana on Kubernetes.
If using HTTPS on elasticsearch, make sure the certificate is signed by a Trusted CA, otherwise you would need to have access to its CA certificate, and import it into a JKS for Aspire to trust. See Enable HTTPS for instructions on how to import a certificate authority.
For AWS Elasticsearch configuration see Elasticsearch NoSQL Provider Properties.
Step-by-step guide
Deploy Elasticsearch and Kibana.
(Skip these steps if you already have an Elasticsearch cluster for Aspire to use). The current guide is based on ECK quickstart
Install custom resource definitions
Code Block |
---|
|
kubectl create -f https://download.elastic.co/downloads/eck/1.7.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/1.7.0/operator.yaml |
- Deploy Elasticsearch cluster (single node)
Create a file called elasticsearch.yaml
Code Block |
---|
language | yml |
---|
theme | RDark |
---|
linenumbers | true |
---|
collapse | true |
---|
|
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: quickstart
spec:
version: 7.9.2
nodeSets:
- name: default
count: 1
config:
node.store.allow_mmap: false |
Deploy the Elasticsearch cluster
Code Block |
---|
|
kubectl apply -f elasticsearch.yaml |
- Obtain Basic Authentication password
The password will be stored in the environment variable called "PASSWORD"
Code Block |
---|
|
PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o go-template='{{.data.elastic | base64decode}}') |
- Deploy Kibana cluster
Create a file called kibana.yaml
Code Block |
---|
language | yml |
---|
theme | RDark |
---|
linenumbers | true |
---|
collapse | true |
---|
|
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: quickstart
spec:
version: 7.9.2
count: 1
elasticsearchRef:
name: quickstart |
Deploy Kibana
Code Block |
---|
|
kubectl apply -f kibana.yaml |
Expose Kibana's port locally
Code Block |
---|
|
kubectl port-forward service/quickstart-kb-http 5601 |
- Browse to Kibana at https://localhost:5601/ (HTTPS warnings will appear on the browser due to the self-signed certificates elasticsearch and kibana generates)
- Log in using username "elastic" and the password obtained at step #3.
Deploy Aspire 5
- (Optional) Upload Kibana Dashboards
- Create kubernetes secret for connecting to SCA docker registry
- Create Aspire ConfigMap
- Upload License and Settings to Elasticsearch
- Deploy Managers
- Deploy Workers
- Expose Manager port
- Browse to Aspire Admin UI