Skip to content

Instantly share code, notes, and snippets.

@rdkls
Created March 9, 2018 01:53
Show Gist options
  • Save rdkls/cba3cb369a4cf4f4fb4709344c9f5d7e to your computer and use it in GitHub Desktop.
Save rdkls/cba3cb369a4cf4f4fb4709344c9f5d7e to your computer and use it in GitHub Desktop.
kubernetes definition for neo4j deployment (docker containers) & service (external accessible) for NASA lessons learnt knowledge graph
apiVersion: v1
kind: ConfigMap
metadata:
name: nasa-neo4j-configmap
data:
neo4j.conf: |
dbms.directories.import=import
dbms.allow_format_migration=true
dbms.connectors.default_listen_address=0.0.0.0
dbms.connector.http.listen_address=:7474
dbms.connector.http.enabled=true
dbms.connector.https.enabled=true
dbms.connector.bolt.enabled=true
dbms.connector.bolt.listen_address=:6576
#dbms.mode=CORE
#causal_clustering.initial_discovery_members=nasa-service.graphaspect.svc.cluster.local:5000
ha.pull_interval=10
dbms.jvm.additional=-XX:+UseG1GC
dbms.jvm.additional=-XX:-OmitStackTraceInFastThrow
dbms.jvm.additional=-XX:+AlwaysPreTouch
dbms.jvm.additional=-XX:+UnlockExperimentalVMOptions
dbms.jvm.additional=-XX:+TrustFinalNonStaticFields
dbms.jvm.additional=-XX:+DisableExplicitGC
dbms.jvm.additional=-Djdk.tls.ephemeralDHKeySize=2048
dbms.windows_service_name=neo4j
dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
name: nasa-deployment
labels:
app: nasa
spec:
replicas: 1
selector:
matchLabels:
app: nasa
template:
metadata:
labels:
app: nasa
spec:
volumes:
- name: neo4j-configfile
configMap:
name: nasa-neo4j-configmap
containers:
- name: nasa-neo4j-container
image: rdkls/graphaspect:nasa
ports:
- name: nasa-browser
containerPort: 7474
- name: nasa-bolt
containerPort: 6576
volumeMounts:
- name: neo4j-configfile
mountPath: "/neo4j-enterprise-3.2.3/conf"
imagePullSecrets:
- name: graphaspect
---
apiVersion: v1
kind: Service
metadata:
name: nasa-service
labels:
app: nasa
annotations:
dns.alpha.kubernetes.io/external: nasa.k8s.graphaspect.com
external-dns.alpha.kubernetes.io/hostname: nasa.on.graphaspect.com
service.beta.kubernetes.io/aws-load-balancer-additional-resource-tags: 'Name=k8s-nasa-service'
spec:
type: LoadBalancer
selector:
app: nasa
ports:
- name: http-nasa-browser
port: 80
targetPort: nasa-browser
- name: nasa-browser
port: 7474
targetPort: nasa-browser
# Client will submit login page with bolt://hostname:6576
# because hostname is interpolated from initial http request, and 6576 from neo4j config
- name: nasa-bolt
port: 6576
targetPort: nasa-bolt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment