Skip to content

dharada/elastic-cloud-k8s

Repository files navigation

A tutorial

1. Create gke cluster

CLUSTER_NAME=<cluster_name>
ZONE_NAME=<zone_name>
PROJECT_NAME=<project_name>
MACHINE_TYPE=e2-standard-4

gcloud container clusters create $CLUSTER_NAME --project $PROJECT_NAME --zone $ZONE_NAME --labels=label_a=xxxxx,label_b=xxxxxx --machine-type $MACHINE_TYPE

2. Configure kubectl command line access by running the following command:

gcloud container clusters get-credentials $CLUSTER_NAMsE --zone $ZONE_NAME --project $PROJECT_NAME
3. Set Role-based access control
kubectl create clusterrolebinding \
cluster-admin-binding \
--clusterrole=cluster-admin \
--user=$(gcloud auth list --filter=status:ACTIVE --format="value(account)")
4. Create Custom Resource Definitions and apply operator

kubectl create -f https://download.elastic.co/downloads/eck/2.4.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/2.4.0/operator.yaml
5. Apply ES(with LB), Kibana(with LB), Apm
kubectl apply -f quickstart-eck-with-lb.yaml
6. Display svc detail as yaml
kubectl get service kibana-quickstart-kb-http -o yaml
7. Display statefulset/elastic-operato detail as yaml
kubectl get statefulset elastic-operator --namespace elastic-system -o yaml
8. Check ES endpoint
PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode)
ES_EXTERNAL_IP=$(kubectl get svc quickstart-es-http -o=jsonpath='{.status.loadBalancer.ingress[0].ip}')
curl -u "elastic:$PASSWORD" -k "https://$ES_EXTERNAL_IP:9200"
9. Check Kibana endpoint
PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' -n default | base64 --decode)
KI_EXTERNAL_IP=$(kubectl get svc kibana-quickstart-kb-http -o=jsonpath='{.status.loadBalancer.ingress[0].ip}' -n default)
curl -u "elastic:${PASSWORD}" -k "https://${KI_EXTERNAL_IP}:5601/api/status" | jq .
10. Delete(clean up)
kubectl delete -f quickstart-eck-with-lb.yaml
kubectl delete -f https://download.elastic.co/downloads/eck/2.4.0/operator.yaml
kubectl delete -f https://download.elastic.co/downloads/eck/2.4.0/crds.yaml

About

practice for Elastic Cloud on Kubernetes (ECK)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages