NFS 4.1 support on Azure File Shares


The NFS 4.1 support on Azure File Shares -in public preview- is a fully POSIX-compliant offer ideal for workloads that require POSIX-compliant file shares, case sensitivity, or UNIX style permissions (UID/GID).

The NFS 4.1 support -in preview– on Azure File Shares is available in a number of Azure regions. You may find additional information about NFS 4.1 support on Azure File Shares in these articles “How to create an NFS share” and “Azure file share protocols“.

Installation of kubernetes on Azure virtual machines

kubernetes installation guide

This is a demo guide of how to install kubernetes master and worker nodes on Microsoft Azure standalone virtual machines.

This guide is not intended as a solution for production purposes.


This guide assumes that you have a Microsoft Azure account and that you installed the Azure CLI and you are logged in to the respective subscription in Azure.

First steps

To create a resource group:

az group create -n rg_k8sdemo --location eastus2 --tags Purpose=Education

To create a VNET:

az network vnet create \
--resource-group rg_k8sdemo \
--name vnet-k8s-101519 \
--address-prefix \
--subnet-name subnet-k8s-101519 \

To create a virtual machine (as master):

az vm create \
--location eastus2 \
--size Standard_B1ms \
--resource-group rg_k8sdemo \
--image UbuntuLTS \
--computer-name my-k8s-master-00 \
--name k8s-101519-master-00 \
--vnet-name vnet-k8s-101519 \
--subnet subnet-k8s-101519 \
--storage-sku Standard_LRS \
--ssh-key-values .ssh/ \
--tags role=master

This command creates a small size virtual machine that uses “standard” storage for the OS disk. Besides, the command links the virtual machine to the previously created VNET.

To create a virtual machine (as worker node):

az vm create \
--location eastus2 \
--size Standard_B1ms \
--resource-group rg_k8sdemo \
--image UbuntuLTS \
--computer-name my-k8s-worker-00 \
--name k8s-101519-worker-00 \
--vnet-name vnet-k8s-101519 \
--subnet subnet-k8s-101519 \
--storage-sku Standard_LRS \
--ssh-key-values .ssh/ \
--tags role=worker

Please repeat this command to create another VM. Adjust the values where applicable.

Kubernetes installation and configuration

GPG keys

It is required the GPG key for Docker and kubernetes, as well.

Get the Docker gpg key:

curl -fsSL | sudo apt-key add –

Get the Kubernetes gpg key:

curl -s | sudo apt-key add –


Add the Docker repository:

sudo add-apt-repository "deb [arch=amd64] \
$(lsb_release -cs) \

Add the Kubernetes repository:

cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb kubernetes-xenial main

Package management

To update the packages of the system:

sudo apt-get update

Install Docker, kubelet, kubeadm, and kubectl:

sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.13.5-00 kubeadm=1.13.5-00 kubectl=1.13.5-00

Hold them at the current version:

sudo apt-mark hold docker-ce kubelet kubeadm kubectl

Iptables rule

Add the iptables rule to sysctl.conf:

echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf

Enable iptables immediately:

sudo sysctl -p

Kubernetes tasks

Initialize the cluster (run only on the master):

sudo kubeadm init --pod-network-cidr=

I learned that it is required a minimum of 2 vCPUs for the master. Also, kubernetes complained about the kernel of the VM. I bypassed those problems as follows:

walter@my-k8s-master-00:~$ sudo kubeadm init --pod-network-cidr= --ignore-preflight-errors=NumCPU,SystemVerification

Set up local kubeconfig:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Apply Flannel CNI network overlay:

kubectl apply -f

Join the worker(s) node(s):

sudo kubeadm join --token <string> --discovery-token-ca-cert-hash sha256:<sha256string> --ignore-preflight-errors=SystemVerification

For the other worker node:

sudo kubeadm join --token <string> --discovery-token-ca-cert-hash sha256:<sha256string> --ignore-preflight-errors=SystemVerification

Run on the master node:

walter@my-k8s-master-00:~$ kubectl get nodes
NAME               STATUS   ROLES    AGE     VERSION
my-k8s-master-00   Ready    master   13h     v1.13.5
my-k8s-worker-00   Ready    <none>   3m18s   v1.13.5
my-k8s-worker-01   Ready    <none>   106s    v1.13.5


For demonstration purposes it was created a kubernetes cluster that runs on a single main node and couple of worker nodes. These nodes are virtual machines (VMs) created on Microsoft Azure.

Note: The standard method to run kubernetes on Microsoft Azure is using Microsoft Azure AKS service.

Basic kubernetes commands to investigate an issue

There are many usage cases of kubernetes and, hence, very distinct support scenarios when it deals to supporting a kubernetes issue. In my experience, I would call the following basic kubernetes commands to investigate an issue, as the most useful -and necessary- to accompany any kubernetes issue report.

Basic kubernetes commands to investigate an issue
kubectl version
kubectl cluster-info
kubectl get nodes -o wide
kubectl get pods --all-namespaces -o wide
kubectl get deployments --all-namespaces
kubectl get svc --all-namespaces -o wide

On the same time, I would include these couple of Docker commands:

docker -v
docker ps

To speed up any kubernetes troubleshooting, I’d recommend to provide the output of those commands in TXT format, rather than taking a screenshot.

Do you have any other experienced-based basic kubernetes command you would add to this list? Please share in the comments section.

Definitive guide to: The following packages have been kept back

In virtually every installation of Debian -or derivative- it will happen that at some point during software management one will be prompted this message: The following packages have been kept back Let’s provide an example to make it clear.


First, you ran:

apt-get update

and everything was fine. We can affirm the command reported a 0 exit code.

After this you ran:

sudo apt-get upgrade

if your OS‘ software gets updated often and if it is updated at the time of running the upgrade command the output will be like this:

iamsysadmin@examplehost:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

… and there is the weird message: The following packages have been kept back.

Read moreDefinitive guide to: The following packages have been kept back

World wide well known company datacenters locations

The latest couple of articles examined in some basic advices to choose a datacenter for your company.

This article exposes the location of world wide well known datacenters which belongs to companies like Google, IBM, Amazon (AWS) and a few others. The objective of this post is to share the location of such datacenters as of typing to these lines; it is based upon the good practice of reducing latency through short geographical separation among the DC and the own company headquarters.

So, let’s go ahead to meet the datacenter location of the chosen companies.


Google’s datacenters are distributed into three major regions around the world, these are: Americas, Europe and Asia.The following image shows in the Google’s datacenter locations by specific country:

Google's datacenters locations
Google’s datacenters

The most noteworthy hosting services offered by Google belongs to their public cloud, in specific:

  • Compute
  • Storage and Databases
  • Networking
  • Big Data
  • Machine learning
  • Management tools
  • Developer tools
  • Identity and security

You may check out an updated list of Google’s datacenter in this link.

Read moreWorld wide well known company datacenters locations

Advices to choose a data center for my company

In the previous release was outlined how the location, reputation of the data centre, own customer needs and technical infrastructure are key components to choose a data center. This new article will fulfill a series of basic advices every manager ought consider in this matter.

Servers in data center
Data center

Technical support

In choosing a data center I will pay undivided attention to the technical support staff. How well versed are the field engineers? How many are in there? What about their shifts? I would expect to have 24/7 coverage while making sure the CEs aren’t exhausted like to fall in error due to fatigue. The same questions applies for OS (Linux, Windows, etc) engineers -if offered by the DC (data center) as managed-service.

Are updated the resources in state-of-the-art technologies? Do they take trainings often? These are couple of important questions to ask.

Read moreAdvices to choose a data center for my company

Data centre for my company

The dynamics of IT operations typically will take the business to choose a data centre for the company. The small businesses uses to search for hosting services while large companies goes beyond elastic grow. This article examines some tips to choose a data centre and mentions the location of some of them.

data centre
Inside a typical data centre

The proximity of the data centre to the own company is always mentioned as first tip; however, it seems to be valid when colocation services will be used often. Also, sometimes a near data centre is a must be local laws demands it. For the instance, the public sector -central government- requires their servers in the same country; in contrast, private capitals may hire data centre services offshore unless they really need the data centre near to their facilities.

Read moreData centre for my company

Linux: 25 years old

Linux -the best Operating System ever- celebrates today 25 years since it was announced on August 25th, 1991 by the Finnish developer Linus Torvalds. The Internet we are used to is powered by thousands of servers running Linux. Also, Linux is present in mobiles, embedded devices, NAS, laptops and super-computers.

Linux is 25 years old
Linus Torvalds (Linux creator) and Tux

But… what is exactly Linux? In short, Linux is the kernel (the core software that permits hardware to translate primitive orders into actions via software/hardware), but, if speak about that kernel plus the necessary utilities to meet the user’s needs we should formerly refer that as GNU/Linux. Hey, hey… one moment… So, now what is GNU? It drives to introduce you to the GNU Project. You can read an extensive explanation of what it is in that link, but, for our straight to the point matter I’ll tell you that such GNU project has been responsible to provide a lot of software that we can find in the GNU/Linux distributions (Debian, Fedora, Ubuntu, Slackware, Arch Linux, etc). This mix of Linux and GNU occurred in 1992, when Torvalds released its project -Linux- as free software and it was adopted by the GNU project -leaded by Richard Stallman.

Read moreLinux: 25 years old

Start up this blog

First, I really want to thank you for visit this blog. Let me tell you why it exists and what it looks for.

I has been in the Computer industry since a really long time and I worked in different roles while on it. I found that everything related to Hosting was exciting for me and I had been responsible for the website lifecycle of many, many of them. Most of those websites were for customers of mine but a good portion  of them belongs to me. It was time to create another under my name so I put hands on and I am so happy of typing right now to my first post here.

System Administration and Internet Marketing
System Administration and Internet Marketing


I am looking to spread up the voice in state of the art System Administration and Internet Marketing. Also, I want to share in solutions I apply in my daily work and to discuss about paradigms to solve Business needs through the aim of technology and digital marketing.


Let this blog to be a very useful source of System Administration and Internet Marketing news. Please leave your comments and contact me.