Kubernetes the hard way kube apiserver: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 27: | Строка 27: | ||
</PRE> |
</PRE> |
||
− | =Шифрование и |
+ | =Шифрование и <code>encryption-provider-config</code>= |
+ | encryption-config.yaml |
||
https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/ |
https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/ |
||
+ | <BR> |
||
+ | encryption-provider-config - конфигурация шифрования в etcd |
||
+ | <BR> |
||
+ | Файл <code>encryption-config.yaml</code> должен быть одинаковый у всех участников кластера, для того что бы они могли расшифровать данные друг друга<BR> |
||
+ | <BR> |
||
+ | В целом судя по документации может быть более сложная конфигурация чем "один ключ для всего", но особого смысла в этом я не вижу |
||
+ | <BR> |
||
+ | <PRE> |
||
+ | head -c 32 /dev/urandom | base64 |
||
+ | <PRE> |
||
+ | <PRE> |
||
+ | cat configs/encryption-config.yaml |
||
+ | kind: EncryptionConfig |
||
+ | apiVersion: v1 |
||
+ | resources: |
||
+ | - resources: |
||
+ | - secrets |
||
+ | providers: |
||
+ | - aescbc: |
||
+ | keys: |
||
+ | - name: key1 |
||
+ | secret: sCfG58h5SdUxSFephLyE6M6ppxYfnVFUi+GB2b5+kd4= |
||
+ | - identity: {} |
||
+ | |||
+ | </PRE> |
||
=Сертификаты которые использует <code>kube-apiserver</code>= |
=Сертификаты которые использует <code>kube-apiserver</code>= |
Версия 16:55, 17 октября 2022
Kube-apiserver
Соглашение о расположении файлов
- bin -
/usr/local/bin/
- конфиги, в том числе сертификаты -
/etc/k8s/<имя сервиса>
например/etc/k8s/kube-apiserver/
- конфиги, в том числе сертификаты общие для нескольких сервисов -
/etc/k8s/shared/
Загрузка
Общий для всех базовых компонентов скрипт
#!/bin/bash VERSION="1.25.1" ARCH="arm64" mkdir -p k8s_${VERSION} cd k8s_${VERSION} wget -q --show-progress --https-only --timestamping \ "https://storage.googleapis.com/kubernetes-release/release/v${VERSION}/bin/linux/${ARCH}/kube-apiserver" \ "https://storage.googleapis.com/kubernetes-release/release/v${VERSION}/bin/linux/${ARCH}/kube-controller-manager" \ "https://storage.googleapis.com/kubernetes-release/release/v${VERSION}/bin/linux/${ARCH}/kube-scheduler" \ "https://storage.googleapis.com/kubernetes-release/release/v${VERSION}/bin/linux/${ARCH}/kubectl"
Шифрование и encryption-provider-config
encryption-config.yaml
https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/
encryption-provider-config - конфигурация шифрования в etcd
Файл encryption-config.yaml
должен быть одинаковый у всех участников кластера, для того что бы они могли расшифровать данные друг друга
В целом судя по документации может быть более сложная конфигурация чем "один ключ для всего", но особого смысла в этом я не вижу
head -c 32 /dev/urandom | base64 <PRE> <PRE> cat configs/encryption-config.yaml kind: EncryptionConfig apiVersion: v1 resources: - resources: - secrets providers: - aescbc: keys: - name: key1 secret: sCfG58h5SdUxSFephLyE6M6ppxYfnVFUi+GB2b5+kd4= - identity: {}