Elasticsearch kubernetes w untested kibana build.
Project: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/commit/1196d061 Tree: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/tree/1196d061 Diff: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/diff/1196d061 Branch: refs/heads/kubernetes Commit: 1196d061bbc48d340e654ece47abbbb3424a9356 Parents: 93eb9eb Author: Michelle Beard <mbe...@draper.com> Authored: Fri Feb 9 18:20:37 2018 -0500 Committer: Michelle Beard <mbe...@draper.com> Committed: Fri Feb 9 18:20:37 2018 -0500 ---------------------------------------------------------------------- kubernetes/README.md | 3 ++ kubernetes/cleanup.sh | 5 +++ kubernetes/deploy.sh | 9 +++++ kubernetes/es-client.yaml | 71 +++++++++++++++++++++++++++++++++++ kubernetes/es-data.yaml | 61 ++++++++++++++++++++++++++++++ kubernetes/es-discovery-svc.yaml | 15 ++++++++ kubernetes/es-master.yaml | 61 ++++++++++++++++++++++++++++++ kubernetes/es-svc.yaml | 15 ++++++++ kubernetes/kibana-svc.yaml | 13 +++++++ kubernetes/kibana.yaml | 32 ++++++++++++++++ kubernetes/minikube_start.sh | 1 + kubernetes/minikube_stop.sh | 3 ++ kubernetes/status.sh | 1 + 13 files changed, 290 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/README.md ---------------------------------------------------------------------- diff --git a/kubernetes/README.md b/kubernetes/README.md new file mode 100644 index 0000000..071386c --- /dev/null +++ b/kubernetes/README.md @@ -0,0 +1,3 @@ +#TODO +Instructions on launching stack. +Simplify scripts http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/cleanup.sh ---------------------------------------------------------------------- diff --git a/kubernetes/cleanup.sh b/kubernetes/cleanup.sh new file mode 100755 index 0000000..7dda16b --- /dev/null +++ b/kubernetes/cleanup.sh @@ -0,0 +1,5 @@ +kubectl delete -f es-data.yaml +kubectl delete -f es-client.yaml +kubectl delete -f es-master.yaml +kubectl delete -f es-svc.yaml +kubectl delete -f es-discovery-svc.yaml http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/deploy.sh ---------------------------------------------------------------------- diff --git a/kubernetes/deploy.sh b/kubernetes/deploy.sh new file mode 100755 index 0000000..84c5eb8 --- /dev/null +++ b/kubernetes/deploy.sh @@ -0,0 +1,9 @@ +kubectl create -f es-discovery-svc.yaml +kubectl create -f es-svc.yaml +kubectl create -f es-master.yaml +kubectl rollout status -f es-master.yaml +kubectl create -f es-client.yaml +kubectl rollout status -f es-client.yaml +kubectl create -f es-data.yaml +kubectl rollout status -f es-data.yaml + http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/es-client.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/es-client.yaml b/kubernetes/es-client.yaml new file mode 100644 index 0000000..d3d7de9 --- /dev/null +++ b/kubernetes/es-client.yaml @@ -0,0 +1,71 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: es-client + labels: + component: elasticsearch + role: client +spec: + replicas: 2 + template: + metadata: + labels: + component: elasticsearch + role: client + spec: + initContainers: + - name: init-sysctl + image: busybox:1.27.2 + command: + - sysctl + - -w + - vm.max_map_count=262144 + securityContext: + privileged: true + containers: + - name: es-client + image: senssoft/elasticsearch:latest + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NODE_MASTER + value: "false" + - name: NODE_INGEST + value: "false" + - name: DISCOVERY_SERVICE + value: "elasticsearch-discovery" + - name: "NETWORK_HOST" + value: _site_,_lo_ + - name: NODE_DATA + value: "false" + - name: HTTP_ENABLE + value: "true" + - name: ES_JAVA_OPTS + value: -Xms256m -Xmx256m + ports: + - containerPort: 9200 + name: http + - containerPort: 9300 + name: transport + livenessProbe: + tcpSocket: + port: transport + readinessProbe: + httpGet: + path: /_cluster/health + port: http + initialDelaySeconds: 20 + timeoutSeconds: 5 + volumeMounts: + - name: storage + mountPath: /data + volumes: + - emptyDir: + medium: "" + name: "storage" http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/es-data.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/es-data.yaml b/kubernetes/es-data.yaml new file mode 100644 index 0000000..e4f1757 --- /dev/null +++ b/kubernetes/es-data.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: es-data + labels: + component: elasticsearch + role: data +spec: + replicas: 2 + template: + metadata: + labels: + component: elasticsearch + role: data + spec: + initContainers: + - name: init-sysctl + image: busybox:1.27.2 + command: + - sysctl + - -w + - vm.max_map_count=262144 + securityContext: + privileged: true + containers: + - name: es-data + image: senssoft/elasticsearch:latest + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NODE_MASTER + value: "false" + - name: NODE_INGEST + value: "true" + - name: DISCOVERY_SERVICE + value: "elasticsearch-discovery" + - name: NODE_DATA + value: "true" + - name: HTTP_ENABLE + value: "false" + - name: ES_JAVA_OPTS + value: -Xms256m -Xmx256m + ports: + - containerPort: 9300 + name: transport + livenessProbe: + tcpSocket: + port: transport + volumeMounts: + - name: storage + mountPath: /data + volumes: + - emptyDir: + medium: "" + name: "storage" http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/es-discovery-svc.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/es-discovery-svc.yaml b/kubernetes/es-discovery-svc.yaml new file mode 100644 index 0000000..cfdc5da --- /dev/null +++ b/kubernetes/es-discovery-svc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: elasticsearch-discovery + labels: + component: elasticsearch + role: master +spec: + selector: + component: elasticsearch + role: master + ports: + - name: transport + port: 9300 + protocol: TCP http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/es-master.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/es-master.yaml b/kubernetes/es-master.yaml new file mode 100644 index 0000000..38155f9 --- /dev/null +++ b/kubernetes/es-master.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: es-master + labels: + component: elasticsearch + role: master +spec: + replicas: 2 + template: + metadata: + labels: + component: elasticsearch + role: master + spec: + initContainers: + - name: init-sysctl + image: busybox:1.27.2 + command: + - sysctl + - -w + - vm.max_map_count=262144 + securityContext: + privileged: true + containers: + - name: es-master + image: senssoft/elasticsearch:latest + env: + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: NODE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NODE_MASTER + value: "true" + - name: NODE_INGEST + value: "false" + - name: DISCOVERY_SERVICE + value: "elasticsearch-discovery" + - name: NODE_DATA + value: "false" + - name: HTTP_ENABLE + value: "false" + - name: ES_JAVA_OPTS + value: -Xms256m -Xmx256m + ports: + - containerPort: 9300 + name: transport + livenessProbe: + tcpSocket: + port: transport + volumeMounts: + - name: storage + mountPath: /data + volumes: + - emptyDir: + medium: "" + name: "storage" http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/es-svc.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/es-svc.yaml b/kubernetes/es-svc.yaml new file mode 100644 index 0000000..8236b1c --- /dev/null +++ b/kubernetes/es-svc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: elasticsearch + labels: + component: elasticsearch + role: client +spec: + selector: + component: elasticsearch + role: client + ports: + - name: http + port: 9200 + protocol: TCP http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/kibana-svc.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/kibana-svc.yaml b/kubernetes/kibana-svc.yaml new file mode 100644 index 0000000..e60e262 --- /dev/null +++ b/kubernetes/kibana-svc.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: kibana + labels: + component: kibana +spec: + selector: + component: kibana + ports: + - name: http + port: 80 + targetPort: http http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/kibana.yaml ---------------------------------------------------------------------- diff --git a/kubernetes/kibana.yaml b/kubernetes/kibana.yaml new file mode 100644 index 0000000..7d9366d --- /dev/null +++ b/kubernetes/kibana.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + name: kibana + labels: + component: kibana +spec: + replicas: 1 + selector: + matchLabels: + component: kibana + template: + metadata: + labels: + component: kibana + spec: + containers: + - name: kibana + image: docker.elastic.co/kibana/kibana:5.6.3 + env: + - name: CLUSTER_NAME + value: SensSoft + - name: SERVER_BASEPATH + value: /api/v1/proxy/namespaces/default/services/kibana + resources: + limits: + cpu: 1000m + requests: + cpu: 100m + ports: + - containerPort: 5601 + name: http http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/minikube_start.sh ---------------------------------------------------------------------- diff --git a/kubernetes/minikube_start.sh b/kubernetes/minikube_start.sh new file mode 100755 index 0000000..bb3c364 --- /dev/null +++ b/kubernetes/minikube_start.sh @@ -0,0 +1 @@ +minikube start --vm-driver=hyperkit http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/minikube_stop.sh ---------------------------------------------------------------------- diff --git a/kubernetes/minikube_stop.sh b/kubernetes/minikube_stop.sh new file mode 100755 index 0000000..ae5eba2 --- /dev/null +++ b/kubernetes/minikube_stop.sh @@ -0,0 +1,3 @@ +minikube stop +eval $(minikube docker-env -u) +# minikube delete \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/1196d061/kubernetes/status.sh ---------------------------------------------------------------------- diff --git a/kubernetes/status.sh b/kubernetes/status.sh new file mode 100755 index 0000000..47f3b87 --- /dev/null +++ b/kubernetes/status.sh @@ -0,0 +1 @@ +kubectl get svc,deployment,pods -l component=elasticsearch \ No newline at end of file