Today, I’ll show how to create Kubernetes cluster on Linode using CLI. It might be useful, for instance, for CI/CD, automation processes, etc…
If you later find this article useful take a look at the disclaimer for information on how to thank me.
Today, I’ll show how to create Kubernetes cluster on Linode using CLI. It might be useful, for instance, for CI/CD, automation processes, etc…
If you later find this article useful take a look at the disclaimer for information on how to thank me.
Today, I’ll show how to create and use Kubernetes operator using Ansible. I’ll also explain why to use Kubernetes operators and their relation to Kubernetes CRDs. As always, I’ll show a demo. If you later find this article useful read the disclaimer on ways to thank me.
In this post we’ll see how and why to use GitLab self-hosted runners. As always, I’ll show a practical demo of GitLab self-hosted runner which runs jobs in CI/CD pipelines. If you later find this article useful take a look at the disclaimer for information on how to thank me.
Today, I’ll show Podman Jenkins agent assuming Jenkins runs on Kubernetes. We’ll see Podman agent’s Dockerfile and CI/CD pipeline using it.
If you later find this article useful take a look at the disclaimer for information on how to thank me.
Have you considered migration from Jenkins to GitLab? While working on CI/CD pipelines in Jenkins, you probably didn’t like coding them in Groovy. You wondered if any simpler CI/CD platform exists where you just have to worry about what commands to run in the pipelines. We’ll review important things to consider while planning migration from Jenkins to GitLab.
You probably found yourself in a situation when building new docker image of Node.js web app (e.g. express) with the new changes takes a long time. All you wanted is to test your changes fast on a live system…
To achieve that, use docker volumes or bind mounts to map your source code on the workspace to source folder inside Node.js web app container. You can verify the changes reach the container by inspecting the source code inside the container after you make a change on docker host.
In order for node process inside the container to pick up the changes, it needs to reload. Use nodemon for that.
I wrote about it here as well.
When I did all of the above, I didn’t know automation for this exits. Use tilt!
You can find below articles useful:
If you found this article useful, take a look at the disclaimer for information on how to thank me.
Today we’ll see how to install Azure-cli in Dockerfile when the base image is Alpine. If you later find this article useful take a look at the disclaimer for information on how to thank me.
As you know azure cli allows you to control azure cloud aspects from command line. This may be useful for provisioning azure resources in ci/cd pipelines or automations, for instance. If the pipelines run inside Jenkins agents (e.g. Docker in Docker Jenkins agent, Podman Jenkins agent) which are containerized, you may need to package azure-cli inside them. Let’s see how to install azure-cli in Dockerfile.
You probably found it challenging to install Azure-cli as part of Dockerfile where the base image is Alpine.
Use below command sequence to achieve that:
RUN apk add --no-cache --update python3 py3-pip
RUN apk add --no-cache --update --virtual=build gcc musl-dev python3-dev libffi-dev openssl-dev cargo make && pip3 install --no-cache-dir --prefer-binary azure-cli && apk del build
RUN apk add --no-cache --update python3 py3-pip
installed python
and pip
. They are needed because azure-cli is basically Python package.
Second RUN
installs os packages required for successful azure-cli
installation. Then, pip
installs azure-cli
.
See also relevant discussion on GitHub about installation of azure-cli in alpine.
Note that these os packages are installed in a virtual
package which is removed after azure-cli
installation using apk del virtual
. This trick reduces the final built image size.
Note also that Azure CLI is a Python package. That’s why it requires Python and Pip to run. Hence these packages are not removed.
See this great answer on stack overflow about apk add --virtual
. Note that apk add --no-cache
reduces image size as well.
That’s it about Azure-cli installation in Dockerfile when Alpine is a base image.
Find out recommended Azure books on Amazon.
Find out recommended Azure
courses on Pluralsight:
Sign up using this link to get exclusive discounts like 50% off your first month or 15% off an annual subscription)
If you found this article useful, take a look at the disclaimer for information on how to thank me.
Today, I’ll demo Kubernetes StatefulSets. We’ll see what StatefulSets are, why to use them and how to create them.
Today, I’ll demo CSI volumes in Kubernetes world. We’ll see what CSI volumes are, why to use them and what advantage CSI volumes give over regular Kubernetes volumes. If you later find this article useful read the disclaimer on ways to thank me.
Jenkins docs suggest several ways to backup Jenkins home data. One of the easiest and mysterious ones is using file system snapshots. Luckily there’s a great tool – Kopia
which I’ll demo today. We’ll backup Jenkins controller’s data to S3 bucket on the cloud.
If you later find this article useful take a look at the disclaimer for information on how to thank me.