<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OpenShift on Nicolas Massé</title><link>https://www.itix.fr/opensource/openshift/</link><description>Recent content in OpenShift on Nicolas Massé</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Wed, 09 Jun 2021 00:00:00 +0200</lastBuildDate><atom:link href="https://www.itix.fr/opensource/openshift/index.xml" rel="self" type="application/rss+xml"/><item><title>Deploy OpenShift Single Node in KVM</title><link>https://www.itix.fr/blog/deploy-openshift-single-node-in-kvm/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploy-openshift-single-node-in-kvm/</guid><description>&lt;p>Starting with version 4.8, OpenShift can now officially be installed on a single virtual machine (instead of three).
This effectively lowers the resources requirements and open up new possibilities for home labs or developer workstations.
This article explores how to deploy OpenShift Single Node (SNO) using KVM on your Fedora workstation.&lt;/p></description></item><item><title>Install Kubernetes operators in OpenShift using only the CLI</title><link>https://www.itix.fr/blog/install-operator-openshift-cli/</link><pubDate>Fri, 24 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/install-operator-openshift-cli/</guid><description>&lt;p>OpenShift 4 went all-in on Kubernetes operators: they are used for installation of the platform itself but also to install databases, middlewares, etc.
There are more and more operators available on the &lt;a href="https://operatorhub.io/">Operator Hub&lt;/a>.
Most software now provide an operator and describe how to use it.&lt;/p>
&lt;p>Nevertheless, almost every software documentation I read so far, includes the steps to install the operator using the nice GUI of OpenShift 4.
But since my OpenShift environments are provisioned by a playbook, I want to be able to install operators using the CLI only!&lt;/p></description></item><item><title>Secure your OpenShift 4 cluster with OpenID Connect authentication</title><link>https://www.itix.fr/blog/secure-openshift-4-openid-connect-authentication/</link><pubDate>Fri, 17 Apr 2020 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/secure-openshift-4-openid-connect-authentication/</guid><description>&lt;p>OpenShift, starting with the version 4, is installed with a temporary administrator account, &lt;a href="https://docs.openshift.com/container-platform/4.3/authentication/remove-kubeadmin.html">kubeadmin&lt;/a>.
When searching for a definitive solution, it might be tempting to go for the very classical &amp;ldquo;login and password&amp;rdquo; prompt, backed by an &lt;a href="https://docs.openshift.com/container-platform/4.3/authentication/identity_providers/configuring-htpasswd-identity-provider.html">htpasswd file&lt;/a>.
But this is yet another password to remember!&lt;/p>
&lt;p>OpenShift can handle the &lt;a href="https://openid.net/connect/">OpenID Connect&lt;/a> protocol and thus offers Single Sign On to its users.
No additional password to remember: you can login to the OpenShift console with your &lt;a href="../use-google-account-openid-connect-provider/">Google Account&lt;/a> for instance.&lt;/p></description></item><item><title>Airgap OpenShift Installation: move the registry created using oc adm release mirror between environments</title><link>https://www.itix.fr/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments/</link><pubDate>Mon, 18 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/airgap-openshift-installation-move-registry-created-using-oc-adm-release-mirror-between-environments/</guid><description>Some customers, especially large banks, have very tight security requirements. Most of them enforce a complete disconnection of their internal networks from the Internet.
When installing OpenShift in such environments (this is named &amp;ldquo;disconnected&amp;rdquo; or &amp;ldquo;airgap&amp;rdquo; installation), all the OpenShift images have to be fetched (thanks to oc adm release mirror) in a dedicated registry from a bastion host that is both on the internal network and on the Internet.</description></item><item><title>Deploying Miniflux on OpenShift</title><link>https://www.itix.fr/blog/deploying-miniflux-openshift/</link><pubDate>Sun, 17 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploying-miniflux-openshift/</guid><description>&lt;p>&lt;a href="https://miniflux.app">Miniflux&lt;/a> is a minimalist, open source and opinionated RSS feed reader. There is a &lt;a href="https://miniflux.app/hosting.html">hosted instance&lt;/a> available at a fair price point but wouldn&amp;rsquo;t it be cooler to host your own instance on your OpenShift cluster? Let&amp;rsquo;s do it!&lt;/p></description></item><item><title>Deploying Invidious on OpenShift</title><link>https://www.itix.fr/blog/deploying-invidious-openshift/</link><pubDate>Sat, 16 Nov 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/deploying-invidious-openshift/</guid><description>&lt;p>&lt;a href="https://github.com/omarroth/invidious">Invidious&lt;/a> is an alternative frontend to YouTube that is slimmer, faster and at the same time offer more features than YouTube itself. And even more important: it&amp;rsquo;s Open Source!&lt;/p>
&lt;p>There is a hosted instance at &lt;a href="https://invidio.us/">invidio.us&lt;/a> if you want to give it a try. But, wouldn&amp;rsquo;t it be cooler to host your own instance on your OpenShift cluster? Let&amp;rsquo;s do it!&lt;/p></description></item><item><title>Solving the Ansible error 'This module requires the OpenShift Python client'</title><link>https://www.itix.fr/blog/solving-this-module-requires-the-openshift-python-client-error/</link><pubDate>Fri, 13 Sep 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/solving-this-module-requires-the-openshift-python-client-error/</guid><description>If you are using MacOS to develop Operators based on Ansible or simply running Ansible playbooks straight from your Mac, you might encounter this error:
This module requires the OpenShift Python client.
When coping with this error message, two items need to be checked:
The openshift python module needs to be installed using the pip command bundled with your Ansible. If you are not using the implicit localhost, your inventory needs to be updated.</description></item><item><title>One-liner to decode a Kubernetes secret (base64 encoded)</title><link>https://www.itix.fr/blog/decode-kubernetes-secret-base64/</link><pubDate>Fri, 07 Jun 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/decode-kubernetes-secret-base64/</guid><description>Creating a Kubernetes secret from a value is easy:
$ oc create secret generic my-secret --from-literal=secretValue=super-secret secret/my-secret created But getting back this value (from a Shell script, for instance) is not so easy since it is now base64 encoded:
$ oc get secret my-secret -o yaml apiVersion: v1 kind: Secret metadata: name: my-secret namespace: qlkube type: Opaque data: secretValue: c3VwZXItc2VjcmV0 Hopefully, since the latest versions of Kubernetes, there is now a one-liner to extract the field and base64 decode it:</description></item><item><title>Use QLKube to query the Kubernetes API</title><link>https://www.itix.fr/blog/use-qlkube-to-query-the-kubernetes-api/</link><pubDate>Fri, 07 Jun 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/use-qlkube-to-query-the-kubernetes-api/</guid><description>&lt;p>&lt;a href="https://github.com/qlkube/qlkube">QLKube&lt;/a> is a project that exposes the Kubernetes API as GraphQL.
&lt;a href="https://en.wikipedia.org/wiki/GraphQL">GraphQL&lt;/a> is a data query and manipulation language for APIs developed initially by Facebook and released as open-source.
It strives to reduce the chattiness clients can experience when querying REST APIs.
It is very useful for mobile application and web development: by reducing the number of roundtrips needed to fetch the relevant data and by fetching only the needed field, the network usage is greatly reduced.&lt;/p></description></item><item><title>Writing workshop instructions with Hugo and deploying in OpenShift</title><link>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-deploy-openshift/</link><pubDate>Wed, 27 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/writing-workshop-instructions-with-hugo-deploy-openshift/</guid><description>&lt;p>This is the third part of my series covering how to
&lt;a href="../writing-workshop-instructions-with-hugo/">Write workshop instructions with Hugo&lt;/a>. In this article, we will deploy our &lt;a href="https://github.com/nmasse-itix/hugo-workshop/">Hugo mini-training&lt;/a> as a container in OpenShift.&lt;/p></description></item><item><title>Use Ansible to manage the QoS of your OpenShift workload</title><link>https://www.itix.fr/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload/</link><pubDate>Wed, 06 Feb 2019 00:00:00 +0200</pubDate><guid>https://www.itix.fr/blog/use-ansible-to-manage-the-qos-of-your-openshift-workload/</guid><description>&lt;p>As I was administering my OpenShift cluster, I found out that I had a too
much memory requests. To preserve a good quality of service on my cluster,
I had to tacle this issue.&lt;/p></description></item></channel></rss>