sigs.k8s.io/cluster-api-provider-azure@v1.14.3/docs/book/src/topics/dual-stack.md (about)

     1  # Dual-stack clusters
     2  
     3  ## Overview
     4  
     5  CAPZ enables you to create [dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/) Kubernetes cluster on Microsoft Azure.
     6  
     7  - Dual-stack support is available for Kubernetes version 1.21.0 and later on Azure.
     8  
     9  To deploy a cluster using dual-stack, use the [dual-stack flavor template](../../../../templates/cluster-template-dual-stack.yaml).
    10  
    11  Things to try out after the cluster created:
    12  
    13  - Nodes have 2 internal IPs, one from each IP family.
    14  
    15  ```bash
    16  kubectl get node <node name> -o go-template --template='{{range .status.addresses}}{{printf "%s: %s \n" .type .address}}{{end}}'
    17  Hostname: capi-dual-stack-md-0-j96nr 
    18  InternalIP: 10.1.0.4 
    19  InternalIP: 2001:1234:5678:9abd::4 
    20  ```
    21  
    22  - Nodes have 2 `PodCIDRs`, one from each IP family.
    23  
    24  ```bash
    25  kubectl get node <node name> -o go-template --template='{{range .spec.podCIDRs}}{{printf "%s\n" .}}{{end}}'
    26  10.244.2.0/24
    27  2001:1234:5678:9a42::/64
    28  ```
    29  
    30  - Pods have 2 `PodIP`, one from each IP family.
    31  
    32  ```bash
    33  kubectl get pods <pod name> -o go-template --template='{{range .status.podIPs}}{{printf "%s \n" .ip}}{{end}}' 
    34  10.244.2.37 
    35  2001:1234:5678:9a42::25 
    36  ```
    37  
    38  - Able to reach other pods in cluster using IPv4 and IPv6.
    39  
    40  ```bash
    41  # inside the nginx-pod
    42  / # ifconfig eth0
    43  eth0      Link encap:Ethernet  HWaddr 8A:B2:32:92:4F:87
    44            inet addr:10.244.2.2  Bcast:0.0.0.0  Mask:255.255.255.255
    45            inet6 addr: 2001:1234:5678:9a42::2/128 Scope:Global
    46            inet6 addr: fe80::88b2:32ff:fe92:4f87/64 Scope:Link
    47            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    48            RX packets:9 errors:0 dropped:0 overruns:0 frame:0
    49            TX packets:10 errors:0 dropped:1 overruns:0 carrier:0
    50            collisions:0 txqueuelen:0
    51            RX bytes:906 (906.0 B)  TX bytes:840 (840.0 B)
    52  
    53  / # ping -c 2 10.244.1.2
    54  PING 10.244.1.2 (10.244.1.2): 56 data bytes
    55  64 bytes from 10.244.1.2: seq=0 ttl=62 time=1.366 ms
    56  64 bytes from 10.244.1.2: seq=1 ttl=62 time=1.396 ms
    57  
    58  --- 10.244.1.2 ping statistics ---
    59  2 packets transmitted, 2 packets received, 0% packet loss
    60  round-trip min/avg/max = 1.366/1.381/1.396 ms
    61  / # ping -c 2 2001:1234:5678:9a41::2
    62  PING 2001:1234:5678:9a41::2 (2001:1234:5678:9a41::2): 56 data bytes
    63  64 bytes from 2001:1234:5678:9a41::2: seq=0 ttl=62 time=1.264 ms
    64  64 bytes from 2001:1234:5678:9a41::2: seq=1 ttl=62 time=1.233 ms
    65  
    66  --- 2001:1234:5678:9a41::2 ping statistics ---
    67  2 packets transmitted, 2 packets received, 0% packet loss
    68  round-trip min/avg/max = 1.233/1.248/1.264 ms
    69  ```