pingcap / pingcap/tidb-operator

Allow overwriting `addr` in TiKV startup script to support IPv6

Open
#4,732 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1.3k
Forks
540
Avg merge
3d 2h
Merged PRs (30d)
18

Description

Feature Request

In order to get a fully working TiDB cluster running in a k8s cluster using IPv6, addr/status-addr here need to be replaced with ::.

Describe the feature you'd like:
It'd be great to either expose a config that changes the listen addresses for TiKV, or to add in a postArgScript parameter similar to the one in the TiDB cluster helm chart. I'm happy to take a stab at implementation of either solution here, or whatever solution y'all think is appropriate.

Describe alternatives you've considered:
Currently, we work around this by mounting a second startup-script configmap to overwrite the existing one with the addresses swapped out, but this is a rather fragile solution if the generated startup script ever changes.

Teachability, Documentation, Adoption, Migration Strategy:
We can add a note in the docs somewhere detailing how to run a TiDB cluster in an IPv6 k8s cluster

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in pkg/manager/member/startscript/v2/tikv_start_script.go around the addr and status-addr definitions, then compare the postArgScript approach used by the TiDB cluster Helm chart. Define and implement the supported listen-address override for IPv6, and document how to use it in an IPv6 Kubernetes cluster.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.