A user of the Tanuki Service Wrapper reminded me that Tanuki released version 3.5.36 of the Java Service Wrapper some time ago. So in this post, I can provide version 3.5.36 of the Java Service Wrapper for Windows x64.
Read the rest of this entry
If you have worked with remote Linux servers before, I am guessing you already encountered machines that just don’t want to reboot. This is typically due screwed-up network mounts or stuck processes, so the server will hang during shutdown. But it turns out that there are other ways to reboot a server.
One of these is the “Magic SysRq key“. To reboot a server using the SysRq trigger in the kernel, use the following two commands. First, enable the trigger:
echo 1 > /proc/sys/kernel/sysrq
Then, reboot the server the magic way by typing
echo b > /proc/sysrq-trigger
Note that this will reboot the server without unmounting or syncing the filesystems! There are also other options available via the SysRq trigger, some of them are listed in the Wikipedia article above.
So I started working with GitLab (self-hosted and gitlab.com), which led me to the CI/CD features of GitLab. When using GitLab, one can define a custom CI pipeline just by placing a .gitlab-ci.yml
file in your project (just like the .travis.yml
for GitHub). After each commit to the defined git branch, the pipeline is then executed.
Since I also work with Ansible playbooks a lot, I wanted to use ansible-lint
to check my playbooks after each commit. In addition to that, I also added a syntax check using ansible-playbook [..] --syntax-check
, as ansible-lint
will not pick up all syntax errors.
So here is my .gitlab-ci.yml
:
Read the rest of this entry
A user of the Tanuki Service Wrapper reminded me that Tanuki released version 3.5.35 of the Java Service Wrapper some time ago. So in this post, I can provide version 3.5.35 of the Java Service Wrapper for Windows x64.
As always, I don’t guarantee anything, so please note:
Read the rest of this entry
So when working with a lot of different namespaces in Kubernetes and you only know the “oc project” command from OpenShift, you start to miss an easy way to change namespaces in Kubernetes.
The official documentation to switch namespaces proposes something like this:
$ kubectl config set-context $(kubectl config current-context) --namespace=<insert-namespace-name-here>
Not something that I want to type regularly. First I tried to create a BASH alias or something, which did not work. So I looked around for BASH functions. I found that Jon Whitcraft proposed a nice BASH function in a GitHub issue. I lightly modified this and placed this in my own .bashrc
file:
function kubectlns() {
ctx=`kubectl config current-context`
ns=$1
# verify that the namespace exists
ns=`kubectl get namespace $1 --no-headers --output=go-template={{.metadata.name}} 2>/dev/null`
if [ -z "${ns}" ]; then
echo "Namespace (${1}) not found, using default"
ns="default"
fi
kubectl config set-context ${ctx} --namespace="${ns}"
}
So to change your namespace, use something like this:
$ kubectlns simon
Context "kubernetes-admin@kubernetes" modified.
Nice and short.
So after completing the AWS Certified Solutions Architect – Associate certificate back in October, I thought that this would be a good idea to also pursue the Solutions Architect certificate. So just before Christmas, I succeeded in getting the second AWS certification:
In this post, I can provide version 3.5.34 of the Java Service Wrapper for Windows x64.
As always, I don’t guarantee anything, so please note:
Read the rest of this entry
At SBB, for some workload we are leveraging the wonderful capabilities of Amazon Web Services. As a result, I have been working a lot more with AWS for the past few months and have decided to go for the SysOps certification. So here we go, I am now an “AWS Certified SysOps Administrator – Associate”:
While some AWS services are not perfect, I enjoy it very much to work with such a great platform. I am even thinking about getting more AWS certifications :).
So when using NodeSelectors in OpenShift, you’ll also have to set labels on your nodes. You can find more information on labeling nodes in the OpenShift documentation. Here is how you can add or remove a label from a node or pod:
To add a label to a node or pod:
# oc label node node001.krenger.ch mylabel=myvalue
# oc label pod mypod-34-g0f7k mylabel=myvalue
To remove a label (in the example “mylabel”) from a node or pod:
# oc label node node001.krenger.ch mylabel-
# oc label pod mypod-34-g0f7k mylabel-
You can also use oc label -h
to see more options for the oc label
command.
I am currently toying around with GlusterFS and I am using Ansible to deploy and configure my server.
Using the yum module, I wanted to install the Gluster server package like so:
- name: Install glusterfs-server package
yum:
name: glusterfs-server
state: latest
But when executing the playbook, I received the following error on executing this module:
Read the rest of this entry