Project

General

Profile

Actions

Task #11862

closed

[grab me] automate creating k8s clusters in IPv6 environments

Added by Nico Schottelius 10 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Start date:
07/07/2023
Due date:
% Done:

0%

Estimated time:
PM Check date:

Description

Motivation

  • Creating a 1,2 or many k8s cluster should be a matter of "working seconds" and "setup minutes"

Environment

  • Assume you have an IPv6 network, f.i. a /48
  • Assume you have a router, such as bird
  • Assume you have a dynamic number of hosts ("k8s hosts")
  • Assume every k8s cluster will use 2x /64's
    • one for pods
    • one for services (effectively only /108 is used, but that is an implementation detail)
  • Assume you can (and should) delegate the subnetworks of the /48 "automatically"
    • i.e. define ranges that can be automatically deployed

Steps

  • define how to create nodes
    • either virtual or hardware nodes
  • define how nodes are getting their networking
Actions #1

Updated by Nico Schottelius 10 months ago

  • Description updated (diff)
Actions #2

Updated by Nico Schottelius 10 months ago

  • Status changed from New to In Progress
  • Assignee set to Nico Schottelius

Manual flow (VMs, OpenNebula)

  • Create VMs ("get something ssh-able")
  • Configure them with cdist so that crio, kubelet and friends exist ("make it k8s usable")
  • Configure the routers to allow bgp peering with the VMs ("prepare the network")
  • Define ranges (take them from netbox) ("select the network")
  • Create kubeadm config
  • Run kubeadm init --config ...
  • Install cni (such as calico)

Sample k8s "clusters" h4g

VM net
2a0a-e5c0-2-2-0-84ff-fe41-f256.loves.ipv6.at.ungleich.ch 2a0a:e5c0:2:18::/63
2a0a-e5c0-2-2-0-84ff-fe41-f259.loves.ipv6.at.ungleich.ch 2a0a:e5c0:2:1a::/63
2a0a-e5c0-2-2-0-84ff-fe41-f258.loves.ipv6.at.ungleich.ch 2a0a:e5c0:2:1c::/63
2a0a-e5c0-2-2-0-84ff-fe41-f25e.loves.ipv6.at.ungleich.ch 2a0a:e5c0:2:1e::/63

Poor man's solution

  • shell script with index
  • configuring router with bgp/static routes
  • assumption: range defined, nodes in network
Actions #3

Updated by Nico Schottelius 4 months ago

  • Status changed from In Progress to Closed
Actions

Also available in: Atom PDF