* Fix technical debt and improve reading scores * Add linter skip rules for rel notes * Update the parquet schema
2.4 KiB
title, description, menuTitle, aliases
| title | description | menuTitle | aliases | |
|---|---|---|---|---|
| Configure IPv6 | Learn how to configure IPv6 for Tempo. | Configure IPv6 |
|
Configure IPv6
Tempo can be configured to communicate between the components using Internet Protocol Version 6, or IPv6.
{{< admonition type="note" >}} The underlying infrastructure must support this address family. This configuration may be used in a single-stack IPv6 environment, or in a dual-stack environment where both IPv6 and IPv4 are present. In a dual-stack scenario, only one address family may be configured at a time, and all components must be configured for that address family. {{< /admonition >}}
Protocol configuration
This sample listen configuration will allow the gRPC and HTTP servers to listen on IPv6, and configure the various memberlist components to enable IPv6.
memberlist:
bind_addr:
- '::'
bind_port: 7946
compactor:
ring:
kvstore:
store: memberlist
enable_inet6: true
metrics_generator:
ring:
enable_inet6: true
ingester:
lifecycler:
enable_inet6: true
server:
grpc_listen_address: '::0'
grpc_listen_port: 9095
http_listen_address: '::0'
http_listen_port: 3200
Kubernetes service configuration
Each service fronting the workloads will need to be configured with with spec.ipFamilies and spec.ipFamilyPolicy set. See this compactor example.
apiVersion: v1
kind: Service
metadata:
labels:
name: compactor
name: compactor
namespace: trace
spec:
clusterIP: fccb::31a7
clusterIPs:
- fccb::31a7
internalTrafficPolicy: Cluster
ipFamilies:
- IPv6
ipFamilyPolicy: SingleStack
ports:
- name: compactor-http-metrics
port: 3200
protocol: TCP
targetPort: 3200
selector:
app: compactor
name: compactor
sessionAffinity: None
type: ClusterIP
You can check the listening service from within a pod.
❯ k exec -it compactor-55c778b8d9-2kch2 -- sh
/ # apk add iproute2
OK: 12 MiB in 27 packages
/ # ss -ltn -f inet
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
/ # ss -ltn -f inet6
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 *:7946 *:*
LISTEN 0 4096 *:9095 *:*
LISTEN 0 4096 *:3200 *:*