{"id":33424,"date":"2024-06-07T11:20:00","date_gmt":"2024-06-07T09:20:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=33424"},"modified":"2024-06-07T11:20:04","modified_gmt":"2024-06-07T09:20:04","slug":"cloudnativepg-on-minicube-on-opensuse-leap-micro-6","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/","title":{"rendered":"CloudNativePG on minicube on openSUSE Leap Micro 6"},"content":{"rendered":"\n<p>Some time ago I&#8217;ve written a small blog about how to get <a href=\"https:\/\/www.dbi-services.com\/blog\/a-first-look-at-opensuse-leap-micro-6-0\/\">openSUSE Leap Micro 6<\/a> up and running. As one of the use cases for this distributions is to run container workloads, the next natural step is to deploy a containerized workload. As I am mostly interested in PostgreSQL and it becomes more and more popular to run PostgreSQL in <a href=\"https:\/\/kubernetes.io\/\">Kubernetes<\/a>, I&#8217;ll use <a href=\"https:\/\/minikube.sigs.k8s.io\/docs\/\">minicube<\/a> to easily get a local Kubernetes cluster and <a href=\"https:\/\/cloudnative-pg.io\/\">CloudNativePG<\/a> to get an operator for managing PostgreSQL.<\/p>\n\n\n\n<p>If you want to replay that, just follow the initial post linked above, which gives you this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nmicro-minicube:~ $ cat \/etc\/os-release\nNAME=&quot;openSUSE Leap Micro&quot;\nVERSION=&quot;6.0&quot;\nID=&quot;opensuse-leap-micro&quot;\nID_LIKE=&quot;suse opensuse opensuse-leap suse-microos&quot;\nVERSION_ID=&quot;6.0&quot;\nPRETTY_NAME=&quot;openSUSE Leap Micro 6.0&quot;\nANSI_COLOR=&quot;0;32&quot;\nCPE_NAME=&quot;cpe:\/o:opensuse:leap-micro:6.0&quot;\nBUG_REPORT_URL=&quot;https:\/\/bugs.opensuse.org&quot;\nHOME_URL=&quot;https:\/\/www.opensuse.org\/&quot;\nDOCUMENTATION_URL=&quot;https:\/\/en.opensuse.org\/Portal:LeapMicro&quot;\nLOGO=&quot;distributor-logo-LeapMicro&quot;\n<\/pre><\/div>\n\n\n<p>From there you need to install minicube, which is really, really easy to do. As minicube should not run under &#8220;root&#8221;, create a dedicated user for it and configure <a href=\"https:\/\/en.wikipedia.org\/wiki\/Sudo\">sudo<\/a>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3,4,5]; title: ; notranslate\" title=\"\">\nmicro-minicube:~ $ groupadd minicube\nmicro-minicube:~ $ useradd -g minicube -m -s \/bin\/bash minicube\nmicro-minicube:~ $ echo &quot;minicube ALL=(ALL:ALL) NOPASSWD: ALL&quot; &gt; \/etc\/sudoers.d\/minicube\nmicro-minicube:~ $ su - minicube\nminicube@micro-minicube:~&gt; sudo ls\nbin\nminicube@micro-minicube:~&gt;\n<\/pre><\/div>\n\n\n<p>Once you have that, it is time to install minicube:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,6,7]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; curl -LO https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n100 91.1M  100 91.1M    0     0  14.2M      0  0:00:06  0:00:06 --:--:-- 17.1M\n\nminicube@micro-minicube:~&gt; sudo install minikube-linux-amd64 \/usr\/local\/bin\/minikube &amp;&amp; rm minikube-linux-amd64\nminicube@micro-minicube:~&gt; ls -l \/usr\/local\/bin\/minikube\n-rwxr-xr-x. 1 root root 95595640 Jun  6 09:07 \/usr\/local\/bin\/minikube\n<\/pre><\/div>\n\n\n<p>That&#8217;s it. Start it up:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; minikube start\n\ud83d\ude04  minikube v1.33.1 on Opensuse-Leap-Micro 6.0 (kvm\/amd64)\n\u2728  Automatically selected the podman driver\n\n\ud83e\uddef  The requested memory allocation of 1972MiB does not leave room for system overhead (total system memory: 1972MiB). You may face stability issues.\n\ud83d\udca1  Suggestion: Start minikube with less memory allocated: &#039;minikube start --memory=1972mb&#039;\n\n\ud83d\udccc  Using Podman driver with root privileges\n\ud83d\udc4d  Starting &quot;minikube&quot; primary control-plane node in &quot;minikube&quot; cluster\n\ud83d\ude9c  Pulling base image v0.0.44 ...\n\ud83d\udcbe  Downloading Kubernetes v1.30.0 preload ...\n    &gt; preloaded-images-k8s-v18-v1...:  342.90 MiB \/ 342.90 MiB  100.00% 11.58 M\n    &gt; gcr.io\/k8s-minikube\/kicbase...:  481.58 MiB \/ 481.58 MiB  100.00% 8.70 Mi\nE0606 09:09:02.427139    3928 cache.go:189] Error downloading kic artifacts:  not yet implemented, see issue #8426\n\ud83d\udd25  Creating podman container (CPUs=2, Memory=1972MB) ...\n\ud83d\udc33  Preparing Kubernetes v1.30.0 on Docker 26.1.1 ...\n    \u25aa Generating certificates and keys ...\n    \u25aa Booting up control plane ...\n    \u25aa Configuring RBAC rules ...\n\ud83d\udd17  Configuring bridge CNI (Container Networking Interface) ...\n\ud83d\udd0e  Verifying Kubernetes components...\n    \u25aa Using image gcr.io\/k8s-minikube\/storage-provisioner:v5\n\ud83c\udf1f  Enabled addons: storage-provisioner, default-storageclass\n\ud83d\udca1  kubectl not found. If you need it, try: &#039;minikube kubectl -- get pods -A&#039;\n\ud83c\udfc4  Done! kubectl is now configured to use &quot;minikube&quot; cluster and &quot;default&quot; namespace by default\n<\/pre><\/div>\n\n\n<p>&#8230; install <a href=\"https:\/\/kubernetes.io\/docs\/tasks\/tools\/\">kubctl<\/a> or use the one from minicube (what I am doing here). I&#8217;ll also define an alias (this is from the offical minicube documentation linked above) to save some typing:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,12,13,14]; title: ; notranslate\" title=\"\">\n\nminicube@micro-minicube:~&gt; minikube kubectl -- get po -A\n    &gt; kubectl.sha256:  64 B \/ 64 B &#x5B;-------------------------] 100.00% ? p\/s 0s\n    &gt; kubectl:  49.07 MiB \/ 49.07 MiB &#x5B;-------------] 100.00% 7.37 MiB p\/s 6.9s\nNAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE\nkube-system   coredns-7db6d8ff4d-bwr6n           1\/1     Running   0          3m43s\nkube-system   etcd-minikube                      1\/1     Running   0          3m57s\nkube-system   kube-apiserver-minikube            1\/1     Running   0          3m57s\nkube-system   kube-controller-manager-minikube   1\/1     Running   0          3m57s\nkube-system   kube-proxy-wl74w                   1\/1     Running   0          3m44s\nkube-system   kube-scheduler-minikube            1\/1     Running   0          3m57s\nkube-system   storage-provisioner                1\/1     Running   0          3m56s\nminicube@micro-minicube:~&gt; echo &quot;alias kubectl=\\&quot;minikube kubectl --\\&quot;&quot; &gt;&gt; ~\/.bashrc\nminicube@micro-minicube:~&gt; . .bashrc\nminicube@micro-minicube:~&gt; kubectl get po -A\nNAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE\nkube-system   coredns-7db6d8ff4d-bwr6n           1\/1     Running   0          5m\nkube-system   etcd-minikube                      1\/1     Running   0          5m14s\nkube-system   kube-apiserver-minikube            1\/1     Running   0          5m14s\nkube-system   kube-controller-manager-minikube   1\/1     Running   0          5m14s\nkube-system   kube-proxy-wl74w                   1\/1     Running   0          5m1s\nkube-system   kube-scheduler-minikube            1\/1     Running   0          5m14s\nkube-system   storage-provisioner                1\/1     Running   0          5m13s\n<\/pre><\/div>\n\n\n<p>As the local Kubernetes is now up and running, CloudNativePG can be deployed on it (check for the most recent version, before you do this):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,17]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; kubectl apply --server-side -f https:\/\/raw.githubusercontent.com\/cloudnative-pg\/cloudnative-pg\/release-1.23\/releases\/cnpg-1.23.1.yaml\nnamespace\/cnpg-system serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/backups.postgresql.cnpg.io serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/clusterimagecatalogs.postgresql.cnpg.io serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/clusters.postgresql.cnpg.io serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/imagecatalogs.postgresql.cnpg.io serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/poolers.postgresql.cnpg.io serverside-applied\ncustomresourcedefinition.apiextensions.k8s.io\/scheduledbackups.postgresql.cnpg.io serverside-applied\nserviceaccount\/cnpg-manager serverside-applied\nclusterrole.rbac.authorization.k8s.io\/cnpg-manager serverside-applied\nclusterrolebinding.rbac.authorization.k8s.io\/cnpg-manager-rolebinding serverside-applied\nconfigmap\/cnpg-default-monitoring serverside-applied\nservice\/cnpg-webhook-service serverside-applied\ndeployment.apps\/cnpg-controller-manager serverside-applied\nmutatingwebhookconfiguration.admissionregistration.k8s.io\/cnpg-mutating-webhook-configuration serverside-applied\nvalidatingwebhookconfiguration.admissionregistration.k8s.io\/cnpg-validating-webhook-configuration serverside-applied\nminicube@micro-minicube:~&gt; kubectl get deployment -n cnpg-system cnpg-controller-manager\nNAME                      READY   UP-TO-DATE   AVAILABLE   AGE\ncnpg-controller-manager   1\/1     1            1           30s\n<\/pre><\/div>\n\n\n<p>Before you can deploy PostgreSQL, you&#8217;ll need to describe your desired cluster. A very minimal definition is this (this comes from the official documentation as well):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; cat pg.yaml\napiVersion: postgresql.cnpg.io\/v1\nkind: Cluster\nmetadata:\n  name: cluster-example\nspec:\n  instances: 3\n\n  storage:\n    size: 1Gi\n<\/pre><\/div>\n\n\n<p>Deploy (or apply) it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; kubectl apply -f pg.yaml\ncluster.postgresql.cnpg.io\/cluster-example created\n<\/pre><\/div>\n\n\n<p>&#8230; and monitor the creation of the pods until the cluster is finally ready:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,4,8,13,19,26,34]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS            RESTARTS   AGE\ncluster-example-1-initdb-wtl27   0\/1     PodInitializing   0          20s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS      RESTARTS   AGE\ncluster-example-1                0\/1     Running     0          5s\ncluster-example-1-initdb-wtl27   0\/1     Completed   0          30s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS      RESTARTS   AGE\ncluster-example-1                1\/1     Running     0          12s\ncluster-example-1-initdb-wtl27   0\/1     Completed   0          37s\ncluster-example-2-join-92rqp     0\/1     Pending     0          1s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS      RESTARTS   AGE\ncluster-example-1                1\/1     Running     0          22s\ncluster-example-1-initdb-wtl27   0\/1     Completed   0          47s\ncluster-example-2                0\/1     Running     0          3s\ncluster-example-2-join-92rqp     0\/1     Completed   0          11s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS      RESTARTS   AGE\ncluster-example-1                1\/1     Running     0          33s\ncluster-example-1-initdb-wtl27   0\/1     Completed   0          58s\ncluster-example-2                1\/1     Running     0          14s\ncluster-example-2-join-92rqp     0\/1     Completed   0          22s\ncluster-example-3-join-rx8g6     0\/1     Init:0\/1    0          3s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                             READY   STATUS      RESTARTS   AGE\ncluster-example-1                1\/1     Running     0          46s\ncluster-example-1-initdb-wtl27   0\/1     Completed   0          71s\ncluster-example-2                1\/1     Running     0          27s\ncluster-example-2-join-92rqp     0\/1     Completed   0          35s\ncluster-example-3                0\/1     Running     0          9s\ncluster-example-3-join-rx8g6     0\/1     Completed   0          16s\nminicube@micro-minicube:~&gt; kubectl get pods\nNAME                READY   STATUS    RESTARTS   AGE\ncluster-example-1   1\/1     Running   0          62s\ncluster-example-2   1\/1     Running   0          43s\ncluster-example-3   1\/1     Running   0          25s\n<\/pre><\/div>\n\n\n<p>All the nodes (as described in the yaml definition above) are up and running, which you also may verify by looking at the services:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\nminicube@micro-minicube:~&gt; kubectl get services\nNAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE\ncluster-example-r    ClusterIP   10.96.171.131    &lt;none&gt;        5432\/TCP   3m41s\ncluster-example-ro   ClusterIP   10.106.134.232   &lt;none&gt;        5432\/TCP   3m41s\ncluster-example-rw   ClusterIP   10.108.169.108   &lt;none&gt;        5432\/TCP   3m41s\nkubernetes           ClusterIP   10.96.0.1        &lt;none&gt;        443\/TCP    21m\n<\/pre><\/div>\n\n\n<p>Happy testing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago I&#8217;ve written a small blog about how to get openSUSE Leap Micro 6 up and running. As one of the use cases for this distributions is to run container workloads, the next natural step is to deploy a containerized workload. As I am mostly interested in PostgreSQL and it becomes more and [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[955,229,198,1320],"tags":[77],"type_dbi":[],"class_list":["post-33424","post","type-post","status-publish","format-standard","hentry","category-cloud","category-database-administration-monitoring","category-database-management","category-devops","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>CloudNativePG on minicube on openSUSE Leap Micro 6 - 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\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CloudNativePG on minicube on openSUSE Leap Micro 6\" \/>\n<meta property=\"og:description\" content=\"Some time ago I&#8217;ve written a small blog about how to get openSUSE Leap Micro 6 up and running. As one of the use cases for this distributions is to run container workloads, the next natural step is to deploy a containerized workload. As I am mostly interested in PostgreSQL and it becomes more and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-07T09:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-07T09:20:04+00:00\" \/>\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=\"2 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\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"CloudNativePG on minicube on openSUSE Leap Micro 6\",\"datePublished\":\"2024-06-07T09:20:00+00:00\",\"dateModified\":\"2024-06-07T09:20:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/\"},\"wordCount\":279,\"commentCount\":0,\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Cloud\",\"Database Administration &amp; Monitoring\",\"Database management\",\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/\",\"name\":\"CloudNativePG on minicube on openSUSE Leap Micro 6 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2024-06-07T09:20:00+00:00\",\"dateModified\":\"2024-06-07T09:20:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CloudNativePG on minicube on openSUSE Leap Micro 6\"}]},{\"@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":"CloudNativePG on minicube on openSUSE Leap Micro 6 - 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\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/","og_locale":"en_US","og_type":"article","og_title":"CloudNativePG on minicube on openSUSE Leap Micro 6","og_description":"Some time ago I&#8217;ve written a small blog about how to get openSUSE Leap Micro 6 up and running. As one of the use cases for this distributions is to run container workloads, the next natural step is to deploy a containerized workload. As I am mostly interested in PostgreSQL and it becomes more and [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/","og_site_name":"dbi Blog","article_published_time":"2024-06-07T09:20:00+00:00","article_modified_time":"2024-06-07T09:20:04+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"CloudNativePG on minicube on openSUSE Leap Micro 6","datePublished":"2024-06-07T09:20:00+00:00","dateModified":"2024-06-07T09:20:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/"},"wordCount":279,"commentCount":0,"keywords":["PostgreSQL"],"articleSection":["Cloud","Database Administration &amp; Monitoring","Database management","DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/","url":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/","name":"CloudNativePG on minicube on openSUSE Leap Micro 6 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2024-06-07T09:20:00+00:00","dateModified":"2024-06-07T09:20:04+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/cloudnativepg-on-minicube-on-opensuse-leap-micro-6\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CloudNativePG on minicube on openSUSE Leap Micro 6"}]},{"@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\/33424","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=33424"}],"version-history":[{"count":7,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/33424\/revisions"}],"predecessor-version":[{"id":33432,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/33424\/revisions\/33432"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=33424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=33424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=33424"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=33424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}