Winkelwagen

/ .nl-domeinnaam

Jouw .nl voor slechts € 0,49.

Domeinnaam checken
E-mail

/ Hostingpakket keuzehulp

Weet je niet zeker welk hostingpakket de beste
keus is voor jouw website? Met onze keuzehulp
kom je er wel uit.

Direct naar de keuzehulp

/ OpenStack

/ Probeer Public Cloud uit

Gratis 1 maand aan de slag met Public Cloud?

Vraag proefperiode aan

/ TransIP Blog

Woocommerce vs Shopify - Kies jouw ideale platform

Lees de blogpost
Hulp nodig?

    Sorry, we konden geen resultaten vinden voor jouw zoekopdracht.

    Je VPS'en aan een Kubernetes-cluster koppelen

    In een aantal use cases is het handig om een VPS via een intern/private network met je Kubernetes-cluster kunnen laten communiceren. In deze handleiding koppel je één of meer VPS’en aan het private network van een bestaand Kubernetes-cluster met behulp van onze REST-API.


     

    Benodigdheden

     


     

    Je VPS aan je Kubernetes-cluster koppelen

     

    Stap 1

    Ieder Kubernetes-cluster komt automatisch met een private network waarin Kubernetes-nodes zijn opgenomen. Het private network van een Kubernetes-cluster is terug te vinden met de private network gerelateerde calls van onze REST-API. Als je meerdere private networks en/of Kubernetes-clusters hebt kan het echter lastig zijn te overzien welk private network bij welk Kubernetes-cluster hoort. Om dit makkelijker te maken, achterhaal je eerst het UUID van één of meer van je Kubernetes-nodes.

    Log in op het controlepaneel en selecteer het gewenste cluster.


     

    Stap 2

    Selecteer vervolgens de Node-pool (een Node-pool is een verzameling van Kubernetes-nodes in een cluster met dezelfde configuratie) waarin de nodes zich bevinden waar je de VPS via een private network mee wil laten communiceren.


     

    Stap 3

    Noteer de UUID van alle nodes in je Node-pool, bijvoorbeeld 37e82827-d282-4d19-8c69-cdc1a0026378. 


     

    Stap 4

    Achterhaal nu via command-line met een cURL-commando, of via de Tipctl-tool de naam (niet het UUID) van het private network waar de node uit stap 3 in is opgenomen:

     

    cURL

    Vervang in het commando hieronder:

    • <accesstoken> (regel 2) door een REST-API access token, zie ‘access tokens’ in deze handleiding.
    • <node-UUID> (regel 5) door één van de UUIDs die je in stap 3 hebt genoteerd, bijvoorbeeld 37e82827-d282-4d19-8c69-cdc1a0026378
    curl -s \
      -H "Authorization: Bearer <accesstoken>" \
      -H "Content-Type: application/json" \
      "https://api.transip.nl/v6/private-networks" \
    | jq -r --arg u "<node-UUID>" '
      (if type=="array" then . else (.privateNetworks? // []) end)
      | .[]
      | select([.connectedVpses[]? | .uuid] | index($u))
      | .name
    '

    De output geeft je de naam van je private network, bijvoorbeeld: transip-privatenetwork123

     

    Tipctl: 

    Vervang <node-UUID> in regel 2 door één van de UUIDs die je in stap 3 hebt genoteerd, bijvoorbeeld 37e82827-d282-4d19-8c69-cdc1a002

    tipctl privatenetwork:getall 2>/dev/null \
    | jq -r --arg u "<node-UUID>" '
      (if type=="array" then . else (.privateNetworks? // []) end)
      | .[]
      | select([.connectedVpses[]? | .uuid] | index($u))
      | .name
    '

    De output geeft je de naam van je private network, bijvoorbeeld: transip-privatenetwork123


     

    Stap 5

    Achterhaal vervolgens de interne/private IP-adressen die door je nodes gebruikt worden: het is belangrijk om je VPS straks een IP-adres in dezelfde IP-range te geven en niet een bestaand intern IP-adres te gebruiken. Je kunt ook hiervoor Kubectl of Lens gebruiken.

     

    Kubectl

    Achterhaal het interne IP-adres per node met het commando hieronder. Vervang <node-UUID> door de UUID van een van je nodes en herhaal het commando voor iedere node in je node-pool (met het unieke UUID van de betreffende node).

    kubectl describe node <node-UUID> | grep InternalIP

    Noteer het interne/private IP-adres van alle nodes, bijvoorbeeld 10.128.128.1, 10.128.128.2, etc.

     

    Lens

    Ga in Lens naar je cluster > nodes > selecteer een node > noteer de ‘InternallIP’ onder ‘Addresses’ van iedere node.


     

    Stap 6

    Je hebt nu de naam van het private network en alle interne/private IP-adressen van je Kubernetes-nodes. Koppel nu eerst de VPS aan het private network. Gebruik hiervoor ook weer cURL of tipctl afhankelijk van welke optie je in stap 4 gebruikt hebt.

     

    cURL:

    Vervang in het commando hieronder:

    • <accesstoken> (regel 3) door een REST-API access token, zie ‘access tokens’ in deze handleiding.
    • <vpsnaam> (regel 7) door de naam van de VPS die je aan het private network van je Kubernetes-cluster wil toevoegen, bijvoorbeeld transip-vps1.
    • <privatenetworknaam> (laatste regel) door de naam van het private network die je in stap 4 hebt genoteerd, bijvoorbeeld transip-privatenetwork123.
    curl -X PATCH \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <accesstoken>" \
    -d '
    {
      "action": "attachvps",
      "vpsName": "<vpsnaam>"
    } 
    ' \
    "https://api.transip.nl/v6/private-networks/<privatenetworknaam>"

     

    Tipctl:

    Vervang in het commando hieronder:

    • <privatenetworknaam> door de naam van het private network die je in stap 4 hebt genoteerd, bijvoorbeeld transip-privatenetwork123.
    • <vpsnaam> door de naam van de VPS die je aan het private network van je Kubernetes-cluster wil toevoegen, bijvoorbeeld transip-vps1
    tipctl privatenetwork:attachvps <privatenetworknaam> <vpsnaam>

     

    Stap 7

    Almost there! Geef je VPS een minuutje de tijd: er wordt automatisch een extra private network-adapter aan je VPS gekoppeld. Kijk bijvoorbeeld in een Linux-distro met het commando ‘ip a’ of in Windows met ‘ipconfig’ of je een nieuwe adapter terugziet (vaak genaamd ens9).

    Koppel vervolgens een intern/private network IP-adres aan je nieuwe netwerkadapter zoals beschreven in deze handleiding voor Linux distros en deze handleiding voor Windows

    Voor Linux met behulp van Netplan kan de configuratie er nu bijvoorbeeld uitzien zoals hieronder. Dit voorbeeld komt uit Debian 13 met een volledig statische configuratie voor publieke en private IP-adressen:

    network:
      version: 2
      ethernets:
        ens3:
          match:
            macaddress: "52:54:00:11:22:6f"
          dhcp4: false
          dhcp6: false
          set-name: "ens3"
          addresses:
            - 136.144.123.12/24
            - 136.144.123.34/24
            - 2a01:7c8:aabb:cc::1/48
            - 2a01:7c8:aabb:dd::2/48
          routes:
            - to: default
              via: 136.144.12.1
            - to: default
              via: 2a01:7c8:aabb::1
        ens7:
          dhcp4: false
          addresses:
            - 192.168.0.1/24
        ens9:
          dhcp4: false
          addresses:
            - 10.128.128.4/24

    Gefeliciteerd! Je bent nu klaar en kun je de werking direct testen met behulp van een ping commando (vervang 10.128.128.1 door het interne IP-adres van een van je nodes).

    ping 10.128.128.1

     

    Je VPS ontkoppelen van het private network van je Kubernetes-cluster

     

    Je VPS ontkoppel je met cURL of tipctl op bijna dezelfde manier als waarop je hem gekoppeld hebt aan het private network van je Kubernetes-cluster:

     

    cURL:

    Vervang in het commando hieronder:

    • <accesstoken> (regel 3) door een REST-API access token, zie ‘access tokens’ in deze handleiding.
    • <vpsnaam> (regel 7) door de naam van de VPS die je aan het private network van je Kubernetes-cluster wil toevoegen, bijvoorbeeld transip-vps1.
    • <privatenetworknaam> (laatste regel) door de naam van het private network die je in stap 4 hebt genoteerd, bijvoorbeeld transip-privatenetwork123.
    curl -X PATCH \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <accesstoken>" \
    -d '
    {
      "action": "detachvps",
      "vpsName": "<vpsnaam>"
    } 
    ' \
    "https://api.transip.nl/v6/private-networks/<privatenetworknaam>"

     

    Tipctl:

    Vervang in het commando hieronder:

    • <privatenetworknaam> door de naam van het private network die je in stap 4 hebt genoteerd, bijvoorbeeld transip-privatenetwork123.
    • <vpsnaam> door de naam van de VPS die je aan het private network van je Kubernetes-cluster wil toevoegen, bijvoorbeeld transip-vps1
    tipctl privatenetwork:detachvps <privatenetworknaam> <vpsnaam>

     

    Je hebt nu een VPS gekoppeld aan het private network van je Kubernetes-cluster en het interne verkeer correct gerouteerd. Gebruik deze aanpak om aanvullende VPS’en toe te voegen of je netwerksegmentatie verder te verfijnen.

    Kom je er niet uit?

    Ontvang persoonlijke hulp van onze supporters

    Neem contact op