Pull to refresh

Comments 13

Я считаю, что даже одноразовые вещи надо делать хорошо — пригодится :)


#!/usr/bin/env bash

showcert() {
 openssl x509 -text -noout
}

[ -f "$1" ] || exit 1

case "$1" in
  *.crt|*.pem)
    showcert < "$1"
    ;;
  *.conf)
    awk '/client-certificate-data:/ { print $2 }' "$1" | base64 -d | showcert
    ;;
esac
в старых кластерах (на 1.9 отлично работает) можно не извращаться с протаскиванием в них нового kubeadm или играми с Openssl:
kubeadm alpha phase certs front-proxy-client
kubeadm alpha phase certs apiserver-kubelet-client
kubeadm alpha phase certs apiserver
kubeadm alpha phase kubeconfig all
нужно будет сначала удалить то, что нужно перегенерить, или в отдельной папке это делать. там, в принципе, всё интуитивно. kubeadm будет ругаться на всё, что ему не нравится, нужно это устранять и запускать заново :)
если нужно восстановить работу кластера здесь и сейчас, то путь через kubeadm займёт буквально пару минут.
Что делать, если протухли сертификаты и кластер превратился в тыкву?

Положить новую мину, чтобы сработала на следующий год.
позвольте процитировать документацию. вольный перевод
с версии 1.15 kubeadm научился-таки продлевать все-все сертификаты при обновлении кластера командой kubeadm upgrade
Не проще положить сертификат с лайфтаймом на лет 20-25 (за это время либо уволиться можно, либо пойти выше и головняк будет у других)? У меня такие самоподписанные используются.
Надеюсь с таким подходом вас всё же уволят, а не повысят
проще. кубспрей так раньше и делал — генерировал сертификаты на 100 лет.
в Kubeadm 1 год захардкожен — поэтому живем с тем, что есть.

Насколько это влияет на безопасность в случае утечки ключей — вопрос холиварный и к статье отношения не имеет.
Не подскажете, как в этом плане обстоят дела с kops?
я с kops дела не имел, так что не знаю. Коллега давно уже с kops работал, уточню у него
Для скачивания kubeadm проще всего сделать так:

export ARCH="amd64"
export VERSION=<insert version, i.e. v1.10.7>

curl -L -o /tmp/kubeadm https://dl.k8s.io/release/${VERSION}/bin/linux/${ARCH}/kubeadm
chmod +x /tmp/kubeadm
Sign up to leave a comment.