Скрипт, который проверяет, что я внедряю в правильный кластер kubernetes - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть скрипт, который развертывает мое приложение в моем кластере kubernetes.Однако, если мой текущий контекст kubectl указывает на неправильный кластер, я могу легко закончить развертывание моего приложения в кластере, на котором я не собирался его развертывать.Какой хороший способ проверить (изнутри скрипта), что я развертываю на нужном кластере?

Я действительно не хочу жестко задавать конкретное имя контекста kubectl, так как разные разработчики в моей команде имеютразличные соглашения о том, как назвать их контексты kubectl.

Вместо этого я хотел бы что-то более похожее на if $(kubectl get cluster-name) != "expected-clsuter-name" then error.

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Для каждого кластера выполните kubectl cluster-info один раз, чтобы увидеть , что такое IP / хост для master - он должен быть стабильным для кластера и не меняться в зависимости от имени в контексте kubectl (какие разработчики могут бытьнастройка по другому).Затем запишите это в сценарии с помощью export MASTERA=<HOST/IP>, где он является основным для кластера А. Затем сценарий может выполнить:

kubectl cluster-info | grep -q $MASTERA && echo 'on MASTERA'

или , используя if-else :

if kubectl cluster-info | grep -q $MASTERA; then
   echo 'on $MASTERA'
else
  exit 1
fi
0 голосов
/ 19 декабря 2018
#!/bin/bash

if [ $(kubectl config current-context) != "your-cluster-name" ]
then
    echo "Do some error!!!"
    return
fi

echo "Do some kubectl command"

Над сценарием получить имя кластера и сопоставить с your-desired-cluster именем.Если несоответствие, дайте ошибку.В противном случае выполните команду desire kubectl.

...