Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
devops:kubernetes [2021/08/18 14:23] – [Скрипт] admin | devops:kubernetes [2022/03/25 06:54] – [Headless Services для Stafullset] admin | ||
---|---|---|---|
Line 909: | Line 909: | ||
for pv in $PVs; do ./resetpv --etcd-ca ./ca.crt --etcd-cert ./ | for pv in $PVs; do ./resetpv --etcd-ca ./ca.crt --etcd-cert ./ | ||
+ | ====== Распределить поды деплоймента по разным нодам кластера ====== | ||
+ | < | ||
+ | apiVersion: apps/v1 | ||
+ | kind: Deployment | ||
+ | metadata: | ||
+ | name: my-service | ||
+ | labels: | ||
+ | app: my-service | ||
+ | spec: | ||
+ | replicas: 2 | ||
+ | selector: | ||
+ | matchLabels: | ||
+ | app: my-service | ||
+ | template: | ||
+ | metadata: | ||
+ | labels: | ||
+ | app: my-service | ||
+ | spec: | ||
+ | topologySpreadConstraints: | ||
+ | - maxSkew: 1 | ||
+ | topologyKey: | ||
+ | whenUnsatisfiable: | ||
+ | labelSelector: | ||
+ | matchLabels: | ||
+ | app: my-service | ||
+ | </ | ||
+ | |||
+ | ====== Headless Services для Stafullset ====== | ||
+ | И другие вопросы про то как давать доступ к индивидуальным подам реплик стейтфуллсетов. \\ | ||
+ | https:// | ||
+ | |||
+ | Обычно сервисы используются в k8s для балансировки запросов на все реплики микросервиса, | ||
+ | Что такое **Statefullset** - это способ создать набор именованных реплик сервиса, | ||
+ | Что такое **Headless Service** - это сервис, | ||
+ | < | ||
+ | например: | ||
+ | app-0.myapp.default.svc.cluster.local. | ||
+ | Вопрос - а как же можно опубликовать именованную реплику в составе Statefullset' | ||
+ | Все просто - каждый под, управляеый Statefullset' | ||
+ | < | ||
+ | kind: Service | ||
+ | metadata: | ||
+ | name: app-0 | ||
+ | spec: | ||
+ | type: LoadBalancer | ||
+ | selector: | ||
+ | statefulset.kubernetes.io/ | ||
+ | ports: | ||
+ | - protocol: TCP | ||
+ | port: 80 | ||
+ | targetPort: 80</ | ||
+ | |||
+ | ====== Как скопировать секрет из одного неймспейса в другой ====== | ||
+ | kubectl get secret my-tlssecret --namespace=nginx-ns -o yaml | sed ' |