<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alessandro Rossi</title>
    <description>The latest articles on DEV Community by Alessandro Rossi (@kubealex).</description>
    <link>https://dev.to/kubealex</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F481331%2F73d648ea-3b00-4c57-a6bc-cc776ead5cf6.png</url>
      <title>DEV Community: Alessandro Rossi</title>
      <link>https://dev.to/kubealex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kubealex"/>
    <language>en</language>
    <item>
      <title>From 0 to a working k8s cluster with Ansible</title>
      <dc:creator>Alessandro Rossi</dc:creator>
      <pubDate>Sat, 03 Oct 2020 22:56:52 +0000</pubDate>
      <link>https://dev.to/kubealex/from-0-to-a-working-k8s-cluster-with-ansible-2o74</link>
      <guid>https://dev.to/kubealex/from-0-to-a-working-k8s-cluster-with-ansible-2o74</guid>
      <description>&lt;p&gt;Hi guys, hope you are good and safe!&lt;/p&gt;

&lt;p&gt;I wanted to share a little tool that I created to provision a fully working k8s cluster in about 20 mins just using Ansible, terraform and libvirt.&lt;/p&gt;

&lt;p&gt;It supports now k8s 1.19 and cri-o 1.19.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/kubealex"&gt;
        kubealex
      &lt;/a&gt; / &lt;a href="https://github.com/kubealex/libvirt-k8s-provisioner"&gt;
        libvirt-k8s-provisioner
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Automate your k8s installation
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a href="https://opensource.org/licenses/MIT" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/3ccf4c50a1576b0dd30b286717451fa56b783512/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
libvirt-k8s-provisioner - Automate your cluster provisioning from 0 to k8s!&lt;/h1&gt;
&lt;p&gt;Welcome to the home of the project!&lt;/p&gt;
&lt;p&gt;With this project, you can build up in minutes a fully working k8s cluster (single master/HA) with as many worker nodes as you want.&lt;/p&gt;
&lt;p&gt;Terraform will take care of the provisioning of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Loadbalancer machine with &lt;strong&gt;haproxy&lt;/strong&gt; installed and configured for &lt;strong&gt;HA&lt;/strong&gt; clusters&lt;/li&gt;
&lt;li&gt;k8s Master(s) VM(s)&lt;/li&gt;
&lt;li&gt;k8s Worker(s) VM(s)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It also takes care of preparing the host machine with needed packages, configuring:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dedicated libvirt dnsmasq configuration&lt;/li&gt;
&lt;li&gt;dedicated libvirt network (fully customizable)&lt;/li&gt;
&lt;li&gt;dedicated libvirt storage pool (fully customizable)&lt;/li&gt;
&lt;li&gt;terraform&lt;/li&gt;
&lt;li&gt;libvirt-terraform-provider ( compiled and initialized based on &lt;a href="https://github.com/dmacvicar/terraform-provider-libvirt"&gt;https://github.com/dmacvicar/terraform-provider-libvirt&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can customize the setup choosing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;container runtime&lt;/strong&gt; that you want to use (docker, cri-o, containerd).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;schedulable master&lt;/strong&gt; if you want to schedule on your master nodes or leave the taint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;service CIDR&lt;/strong&gt; to be used during installation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pod CIDR&lt;/strong&gt; to be used during installation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;network plugin&lt;/strong&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/kubealex/libvirt-k8s-provisioner"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Click on the collapsible for a short description of the tool or just head to the github repo to try it out!&lt;/p&gt;

&lt;p&gt;
  SPECS
  &lt;p&gt;It will provision:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Loadbalancer machine with haproxy installed and configured for HA clusters&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;k8s Master(s) VM(s)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;k8s Worker(s) VM(s)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also takes care of preparing the host machine with needed packages, configuring:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;dedicated libvirt dnsmasq configuration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;dedicated libvirt network (fully customizable)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;dedicated libvirt storage pool (fully customizable)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;terraform&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;libvirt-terraform-provider ( compiled and initialized based on &lt;a href="https://github.com/dmacvicar/terraform-provider-libvirt"&gt;https://github.com/dmacvicar/terraform-provider-libvirt&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can customize the setup choosing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;container runtime that you want to use (docker, cri-o, containerd).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;schedulable master if you want to schedule on your master nodes or leave the taint.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;service CIDR to be used during installation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;pod CIDR to be used during installation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;network plugin to be used, based on the documentation. Project Calico Flannel&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;nginx-ingress-controller or haproxy-ingress-controller if you want to enable ingress management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rancher installation to manage your cluster.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rook-Ceph operator&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;/p&gt;

&lt;p&gt;Feel free to enjoy it and contribute, if you want!&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>ansible</category>
      <category>devops</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
