{"id":11127,"date":"2018-05-11T15:15:38","date_gmt":"2018-05-11T13:15:38","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/"},"modified":"2018-05-11T15:15:38","modified_gmt":"2018-05-11T13:15:38","slug":"deploying-edb-containers-in-minishiftopenshift","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/","title":{"rendered":"Deploying EDB containers in MiniShift\/OpenShift"},"content":{"rendered":"<p><b>This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available.<\/b><\/p>\n<p>In this post we&#8217;ll look at how we can deploy EnterpriseDB containers in <a href=\"https:\/\/docs.openshift.org\/latest\/minishift\/\" target=\"_blank\" rel=\"noopener noreferrer\">MiniShift<\/a>. When you need to setup MiniShift have a look <a href=\"https:\/\/www.dbi-services.com\/blog\/testing-edb-containers-with-minishift\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. In this post we&#8217;ll do the setup with the MiniShift console, in a next post we&#8217;ll do the same by using the command line tools.<\/p>\n<p><!--more--><\/p>\n<p>As a few containers will be running at the end MiniShift got more resources when it was started:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:\/opt$ minishift delete\ndwe@dwe:\/opt$ minishift start --cpus 4 --disk-size 30GB --memory 4GB\n<\/pre>\n<p>Once MiniShift is up and running open the MiniShift console and login as developer\/admin:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:\/opt$ minishift console\n<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_001-8.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_001-8.png\" alt=\"Selection_001\" width=\"1895\" height=\"716\" class=\"aligncenter size-full wp-image-23263\" \/><\/a><\/p>\n<p>The first thing we need to do is to grant the necessary permissions after we stepped into &#8220;My Project&#8221;:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_002-5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_002-5.png\" alt=\"Selection_002\" width=\"1887\" height=\"851\" class=\"aligncenter size-full wp-image-23265\" \/><\/a><\/p>\n<p>The permission are in Resources-&gt;Membership. Add admin,edit and view to the default account:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_004-5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_004-5.png\" alt=\"Selection_004\" width=\"1885\" height=\"613\" class=\"aligncenter size-full wp-image-23277\" \/><\/a><\/p>\n<p>For accessing the EnterpriseDB container repository a new secret needs to be created which contains the connection details. Secrets are under Resources-&gt;Secrets:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_005-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_005-4.png\" alt=\"Selection_005\" width=\"1915\" height=\"616\" class=\"aligncenter size-full wp-image-23280\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_006-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_006-3.png\" alt=\"Selection_006\" width=\"1914\" height=\"796\" class=\"aligncenter size-full wp-image-23281\" \/><\/a><\/p>\n<p>As databases are happy when they can store their data on persistent storage we need a volume. Volumes can be created under &#8220;Storage&#8221;:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0071.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0071.png\" alt=\"Selection_007\" width=\"1909\" height=\"588\" class=\"aligncenter size-full wp-image-23284\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0081.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0081.png\" alt=\"Selection_008\" width=\"1881\" height=\"661\" class=\"aligncenter size-full wp-image-23285\" \/><\/a><\/p>\n<p>Now we need a <a href=\"https:\/\/docs.docker.com\/registry\/deploying\/\" target=\"_blank\" rel=\"noopener noreferrer\">local registry<\/a> where we can push the EnterpriseDB containers to:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ minishift ssh\n                        ##         .\n                  ## ## ##        ==\n               ## ## ## ## ##    ===\n           \/\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\___\/ ===\n      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ \/  ===- ~~~\n           \\______ o           __\/\n             \\    \\         __\/\n              \\____\\_______\/\n _                 _   ____     _            _\n| |__   ___   ___ | |_|___ \\ __| | ___   ___| | _____ _ __\n| '_ \\ \/ _ \\ \/ _ \\| __| __) \/ _` |\/ _ \\ \/ __| |\/ \/ _ \\ '__|\n| |_) | (_) | (_) | |_ \/ __\/ (_| | (_) | (__|   &lt;  __\/ |\n|_.__\/ \\___\/ \\___\/ \\__|_____\\__,_|\\___\/ \\___|_|\\_\\___|_|\nBoot2Docker version 1.12.6, build HEAD : 5ab2289 - Wed Jan 11 03:20:40 UTC 2017\nDocker version 1.12.6, build 78d1802\ndocker@minishift:~$ docker run -d -p 5000:5000 --restart=always --name registry registry:2\nUnable to find image &#039;registry:2&#039; locally\n2: Pulling from library\/registry\n81033e7c1d6a: Pull complete \n...\nStatus: Downloaded newer image for registry:2\n14e85f4e2a36e727a0584803e49bbd690ffdb092c02238a241bd2ad003680625\ndocker@minishift:~$ docker login containers.enterprisedb.com\nUsername: dbi-services\nPassword: \nLogin Succeeded\ndocker@minishift:~$ docker pull containers.enterprisedb.com\/edb\/edb-as:v10.3\nv10.3: Pulling from test\/edb-as\nd9aaf4d82f24: Pulling fs layer \n...\nStatus: Downloaded newer image for containers.enterprisedb.com\/edb\/edb-as:v10.3\ndocker@minishift:~$ docker tag containers.enterprisedb.com\/edb\/edb-as:v10.3 localhost:5000\/edb\/edb-as:v10.3\ndocker@minishift:~$ docker push localhost:5000\/edb\/edb-as:v10.3\nThe push refers to a repository [localhost:5000\/edb\/edb-as]\n274db5c4ff47: Preparing \n...\ndocker@minishift:~$ docker pull containers.enterprisedb.com\/edb\/edb-pgpool:v3.5\nv3.5: Pulling from test\/edb-pgpool\n...\ndocker@minishift:~$ docker tag containers.enterprisedb.com\/edb\/edb-pgpool:v3.5 localhost:5000\/edb\/edb-pgpool:v3.5\ndocker@minishift:~$ docker push localhost:5000\/edb\/edb-pgpool:v3.5\nThe push refers to a repository [localhost:5000\/edb\/edb-pgpool]\n8a7df26eb139: Pushed \n...\n<\/pre>\n<p>This is all what is required for the preparation. The next step is to import to the <a href=\"https:\/\/docs.openshift.org\/latest\/dev_guide\/templates.html\" target=\"_blank\" rel=\"noopener noreferrer\">template<\/a> which specifies the setup. For this little demo we&#8217;ll use this one:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\napiVersion: v1\nkind: Template\nmetadata:\n   name: edb-as10-0\n   annotations:\n    description: \"Standard EDB Postgres Advanced Server 10.0 Deployment Config\"\n    tags: \"database,epas,postgres,postgresql\"\n    iconClass: \"icon-postgresql\"\nobjects:\n- apiVersion: v1 \n  kind: Service\n  metadata:\n    name: ${DATABASE_NAME}-service \n    labels:\n      role: loadbalancer\n      cluster: ${DATABASE_NAME}\n  spec:\n    selector:                  \n      lb: ${DATABASE_NAME}-pgpool\n    ports:\n    - name: lb \n      port: ${PGPORT}\n      targetPort: 9999\n    sessionAffinity: None\n    type: LoadBalancer\n- apiVersion: v1 \n  kind: DeploymentConfig\n  metadata:\n    name: ${DATABASE_NAME}-pgpool\n  spec:\n    replicas: 2\n    selector:\n      lb: ${DATABASE_NAME}-pgpool\n    strategy:\n      resources: {}\n      rollingParams:\n        intervalSeconds: 1\n        maxSurge: 25%\n        maxUnavailable: 25%\n        timeoutSeconds: 600\n        updatePeriodSeconds: 1\n      type: Rolling\n    template:\n      metadata:\n        labels:\n          lb: ${DATABASE_NAME}-pgpool\n          role: queryrouter\n          cluster: ${DATABASE_NAME}\n      spec:\n        containers:\n        - name: edb-pgpool\n          env:\n          - name: DATABASE_NAME\n            value: ${DATABASE_NAME} \n          - name: PGPORT\n            value: ${PGPORT} \n          - name: REPL_USER\n            value: ${REPL_USER} \n          - name: ENTERPRISEDB_PASSWORD\n            value: 'postgres' \n          - name: REPL_PASSWORD\n            value: 'postgres' \n          - name: ACCEPT_EULA\n            value: ${ACCEPT_EULA}\n          image: containers.enterprisedb.com\/edb\/edb-pgpool:v3.5\n          imagePullPolicy: IfNotPresent\n          readinessProbe:\n            exec:\n              command:\n              - \/var\/lib\/edb\/testIsReady.sh\n            initialDelaySeconds: 60\n            timeoutSeconds: 5\n    triggers:\n    - type: ConfigChange\n- apiVersion: v1\n  kind: DeploymentConfig\n  metadata:\n    name: ${DATABASE_NAME}-as10-0\n  spec:\n    replicas: 1\n    selector:\n      db: ${DATABASE_NAME}-as10-0 \n    strategy:\n      resources: {}\n      rollingParams:\n        intervalSeconds: 1\n        maxSurge: 25%\n        maxUnavailable: 25%\n        timeoutSeconds: 600\n        updatePeriodSeconds: 1\n      type: Rolling\n    template:\n      metadata:\n        creationTimestamp: null\n        labels:\n          db: ${DATABASE_NAME}-as10-0 \n          cluster: ${DATABASE_NAME}\n      spec:\n        containers:\n        - name: edb-as10 \n          env:\n          - name: DATABASE_NAME \n            value: ${DATABASE_NAME} \n          - name: DATABASE_USER \n            value: ${DATABASE_USER} \n          - name: DATABASE_USER_PASSWORD\n            value: 'postgres' \n          - name: ENTERPRISEDB_PASSWORD\n            value: 'postgres' \n          - name: REPL_USER\n            value: ${REPL_USER} \n          - name: REPL_PASSWORD\n            value: 'postgres' \n          - name: PGPORT\n            value: ${PGPORT} \n          - name: RESTORE_FILE\n            value: ${RESTORE_FILE} \n          - name: LOCALEPARAMETER\n            value: ${LOCALEPARAMETER}\n          - name: CLEANUP_SCHEDULE\n            value: ${CLEANUP_SCHEDULE}\n          - name: EFM_EMAIL\n            value: ${EFM_EMAIL}\n          - name: NAMESERVER\n            value: ${NAMESERVER}\n          - name: POD_NAMESPACE\n            valueFrom:\n              fieldRef:\n                fieldPath: metadata.namespace\n          - name: POD_NODE\n            valueFrom:\n              fieldRef:\n                fieldPath: spec.nodeName \n          - name: POD_IP\n            valueFrom:\n              fieldRef:\n                fieldPath: status.podIP \n          - name: ACCEPT_EULA\n            value: ${ACCEPT_EULA}\n          image: containers.enterprisedb.com\/edb\/edb-as:v10.3\n          imagePullPolicy: IfNotPresent \n          readinessProbe:\n            exec:\n              command:\n              - \/var\/lib\/edb\/testIsReady.sh\n            initialDelaySeconds: 60\n            timeoutSeconds: 5 \n          livenessProbe:\n            exec:\n              command:\n              - \/var\/lib\/edb\/testIsHealthy.sh\n            initialDelaySeconds: 600 \n            timeoutSeconds: 60 \n          ports:\n          - containerPort: ${PGPORT} \n          volumeMounts:\n          - name: ${PERSISTENT_VOLUME}\n            mountPath: \/edbvolume\n        dnsPolicy: ClusterFirst\n        restartPolicy: Always\n        volumes:\n        - name: ${PERSISTENT_VOLUME}\n          persistentVolumeClaim:\n            claimName: ${PERSISTENT_VOLUME_CLAIM}\n    triggers:\n    - type: ConfigChange\nparameters:\n- name: DATABASE_NAME\n  displayName: Database Name\n  description: Name of Postgres database (leave edb for default)\n  value: 'edb'\n- name: DATABASE_USER\n  displayName: Default database user (leave enterprisedb for default)\n  description: Default database user\n  value: 'enterprisedb'\n- name: REPL_USER\n  displayName: Repl user\n  description: repl database user\n  value: 'repl'\n- name: PGPORT\n  displayName: Database Port\n  description: Database Port (leave 5444 for default)\n  value: \"5444\"\n- name: LOCALEPARAMETER\n  displayName: Locale\n  description: Locale of database\n  value: ''\n- name: CLEANUP_SCHEDULE\n  displayName: Host Cleanup Schedule\n  description: Standard cron schedule - min (0 - 59), hour (0 - 23), day of month (1 - 31), month (1 - 12), day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0). Leave it empty if you dont want to cleanup.\n  value: '0:0:*:*:*'\n- name: EFM_EMAIL\n  displayName: Email\n  description: Email for EFM\n  value: 'none@none.com'\n- name: NAMESERVER\n  displayName: Name Server for Email\n  description: Name Server for Email\n  value: '8.8.8.8'\n- name: PERSISTENT_VOLUME\n  displayName: Persistent Volume\n  description: Persistent volume name\n  value: ''\n  required: true\n- name: PERSISTENT_VOLUME_CLAIM \n  displayName: Persistent Volume Claim\n  description: Persistent volume claim name\n  value: ''\n  required: true\n- name: RESTORE_FILE\n  displayName: Restore File\n  description: Restore file location\n  value: ''\n- name: ACCEPT_EULA\n  displayName: Accept end-user license agreement (leave 'Yes' for default)\n  description: Indicates whether user accepts the end-user license agreement\n  value: 'Yes'\n  required: true\n<\/pre>\n<p>For importing that into OpenShift go to &#8220;Overview&#8221; and select &#8220;Import YAML\/JSON&#8221;:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0102.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0102.png\" alt=\"Selection_010\" width=\"1909\" height=\"778\" class=\"aligncenter size-full wp-image-23292\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0111.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0111.png\" alt=\"Selection_011\" width=\"1897\" height=\"755\" class=\"aligncenter size-full wp-image-23293\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_012-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_012-1.png\" alt=\"Selection_012\" width=\"1906\" height=\"752\" class=\"aligncenter size-full wp-image-23294\" \/><\/a><\/p>\n<p>This imports the template but does not process it right now. When you go back to &#8220;Overview&#8221; you should see a new template which you can provision:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_013-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_013-2.png\" alt=\"Selection_013\" width=\"1916\" height=\"543\" class=\"aligncenter size-full wp-image-23296\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_014-3.png\" alt=\"Selection_014\" width=\"1915\" height=\"855\" class=\"aligncenter size-full wp-image-23297\" \/><\/a><\/p>\n<p>Selecting the new template brings you to the specification of the variables. The only bits you need to adjust are the values for the <a href=\"https:\/\/docs.openshift.com\/container-platform\/3.9\/dev_guide\/persistent_volumes.html\" target=\"_blank\" rel=\"noopener noreferrer\">volume and the volume claim<\/a>:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_015-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_015-3.png\" alt=\"Selection_015\" width=\"1919\" height=\"826\" class=\"aligncenter size-full wp-image-23298\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0161.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_0161.png\" alt=\"Selection_016\" width=\"1902\" height=\"785\" class=\"aligncenter size-full wp-image-23300\" \/><\/a><\/p>\n<p>A few moments later the EDB containers are up and running:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc get pods\nNAME                 READY     STATUS    RESTARTS   AGE\nedb-as10-0-1-fdr5j   1\/1       Running   0          1m\nedb-pgpool-1-9twmc   1\/1       Running   0          1m\nedb-pgpool-1-m5x44   1\/1       Running   0          1m\n<\/pre>\n<p>Current there are two pgpool instances and one database instance container. You can double check that the instance is really running with:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@dwe:~$ oc rsh edb-as10-0-1-fdr5j\nsh-4.2$ psql postgres\npsql.bin (10.3.8)\nType \"help\" for help.\n\npostgres=# select version();\n                                                   version                                                   \n-------------------------------------------------------------------------------------------------------------\n EnterpriseDB 10.3.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit\n(1 row)\n<\/pre>\n<p>Going back to the &#8220;Overview&#8221; page in the console shows the same information:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_019-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_019-1.png\" alt=\"Selection_019\" width=\"1888\" height=\"563\" class=\"aligncenter size-full wp-image-23303\" \/><\/a><\/p>\n<p>In the next post we&#8217;ll scale up the deployment by adding two replicas and configure access from outside the cluster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In this post we&#8217;ll look at how we can deploy EnterpriseDB containers in MiniShift. When you need to setup MiniShift have a look here. In this post we&#8217;ll do the setup with the MiniShift console, in a [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":11143,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[762,601,713,586],"type_dbi":[],"class_list":["post-11127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-containers","tag-docker","tag-enterprisedb","tag-postegresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Deploying EDB containers in MiniShift\/OpenShift - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying EDB containers in MiniShift\/OpenShift\" \/>\n<meta property=\"og:description\" content=\"This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In this post we&#8217;ll look at how we can deploy EnterpriseDB containers in MiniShift. When you need to setup MiniShift have a look here. In this post we&#8217;ll do the setup with the MiniShift console, in a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-11T13:15:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1917\" \/>\n\t<meta property=\"og:image:height\" content=\"342\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Deploying EDB containers in MiniShift\/OpenShift\",\"datePublished\":\"2018-05-11T13:15:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\"},\"wordCount\":373,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png\",\"keywords\":[\"Containers\",\"Docker\",\"enterprisedb\",\"PostegreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\",\"name\":\"Deploying EDB containers in MiniShift\/OpenShift - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png\",\"datePublished\":\"2018-05-11T13:15:38+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png\",\"width\":1917,\"height\":342},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploying EDB containers in MiniShift\/OpenShift\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Deploying EDB containers in MiniShift\/OpenShift - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/","og_locale":"en_US","og_type":"article","og_title":"Deploying EDB containers in MiniShift\/OpenShift","og_description":"This blog refers to an older version of EDB&#8217;s Postgres on Kubernetes offering that is no longer available. In this post we&#8217;ll look at how we can deploy EnterpriseDB containers in MiniShift. When you need to setup MiniShift have a look here. In this post we&#8217;ll do the setup with the MiniShift console, in a [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/","og_site_name":"dbi Blog","article_published_time":"2018-05-11T13:15:38+00:00","og_image":[{"width":1917,"height":342,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png","type":"image\/png"}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Deploying EDB containers in MiniShift\/OpenShift","datePublished":"2018-05-11T13:15:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/"},"wordCount":373,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png","keywords":["Containers","Docker","enterprisedb","PostegreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/","url":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/","name":"Deploying EDB containers in MiniShift\/OpenShift - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png","datePublished":"2018-05-11T13:15:38+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_016-3.png","width":1917,"height":342},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-edb-containers-in-minishiftopenshift\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploying EDB containers in MiniShift\/OpenShift"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=11127"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/11143"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11127"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}