Project

General

Profile

Actions

Task #8447

closed

Deploy POC IPv6 cluster on DCL (v202009)

Added by Nico Schottelius about 4 years ago. Updated 11 months ago.

Status:
Rejected
Priority:
Normal
Target version:
-
Start date:
09/14/2020
Due date:
% Done:

0%

Estimated time:
PM Check date:

Description

Setup

  • Create 3 Alpine nodes upgraded to edge, set hostnames
    • Resize to at least 2 cores per node
  • Reserve networks
    • 2a0a:e5c0:2:12::/64 = node1
    • 2a0a:e5c0:2:13::/64 = services
    • 2a0a:e5c0:2:14::/64 = node3
  • Configure routers to accept BGP session (done: in cdist)
  • Deploy kubernetes on first node
  • Deploy kube-router: fail, not IPv6 ready
  • Deploy calico: fail
  • Deploy cilium: testing
  • Create BGP peering
  • Verify BGP peering
  • Setup access to CEPH for persistent storage

OS commands


echo node2 > /etc/hostname 

cat > /etc/resolv.conf << EOF
nameserver 2a0a:e5c0:2:12:0:f0ff:fea9:c451
nameserver 2a0a:e5c0:2:12:0:f0ff:fea9:c45d
search k8s.ungleich.ch
EOF
chattr +i /etc/resolv.conf

cat > /etc/apk/repositories << EOF
https://mirror.ungleich.ch/mirror/packages/alpine/edge/main
https://mirror.ungleich.ch/mirror/packages/alpine/edge/community
https://mirror.ungleich.ch/mirror/packages/alpine/edge/testing
EOF

apk upgrade
apk add kubeadm kubelet kubectl docker
rc-update add kubelet default
rc-update add docker default

echo 'net.ipv6.conf.default.forwarding=1' > /etc/sysctl.d/k8s.conf

kubeadm.conf:

localAPIEndpoint:
  advertiseAddress: 2a0a:e5c0:2:2:0:84ff:fe41:f263
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
networking:
  serviceSubnet: 2a0a:e5c0:2:13::/110
  podSubnet: 2a0a:e5c0:2:12::/64

Init cluster:

kubeadm init --config kubeadm.conf 

useradd -m k8s -s /bin/bash 
mkdir ~k8s/.kube
cp /etc/kubernetes/admin.conf ~k8s/.kube/config
chown -R k8s ~k8s

Take aways

  • docker sets ipv4 forwarding, but not ipv6 (needs manual sysctl entry)
  • Reachability by name (node1) w/o fqdn seems to be important

Current results

  • kube-router does not work out-of-the-box "too many colons"
  • calico does not work out of the box "calico-kube-controllers stays in pending" / no network provided
Actions

Also available in: Atom PDF