Обработка ошибок при подключении к серверу kubernetes с помощью файла конфигурации - PullRequest
0 голосов
/ 21 февраля 2020

Я намеренно сломал свой файл .config, который отвечает за подключение к серверу kubernetes, изменив содержимое в пользовательском разделе, и я получаю эту ошибку:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x45756e]

goroutine 1 [running]:
k8s.io/client-go/kubernetes.NewForConfig(0x0, 0x0, 0xc42031c120, 0x1c)
        /home/saivamsi/go/src/k8s.io/client-go/kubernetes/clientset.go:371 +0x4e
exit status 2

Я делал это, чтобы проверить, что происходит если был предоставлен неверный конфиг, поэтому я хочу обработать эту ошибку, повторив попытку подключения к серверу в течение следующих 5se c, чтобы проверить, так ли это. Как я могу добиться этого?

Я использую клиент kubernetes go с этим кодом для установления соединения:

var KubeConfigPath = os.Getenv("HOME") + "/.kube/config2"
var config, ConfigErr = clientcmd.BuildConfigFromFlags("", KubeConfigPath)
var clientset, ClientErr = kubernetes.NewForConfig(config)

1 Ответ

1 голос
/ 21 февраля 2020

Скорее всего, вы можете избежать segfault, если убедитесь, что ошибка BuildConfigFromFlags не равна нулю. Если это ноль, тогда спите и повторите попытку, иначе продолжите.

...