Kubernetes Secret

Secret похожи на ConfigMap они такие же ассоциативные массивы, которые содержат данные в виде ключ-значение и могут передаваться как:  переменные среды в виде файлов в томе Отличие в том что они хранятся только в памяти и не записываются в файловую систему. Секреты используются для хранения защищенных данных, например сертификатов или доступы к базе или стороннему […]

Read More &#8594

Kubernetes ConfigMap

Передача параметров при запуске приложения В основном в docker используется передача значений через переменные окружения. Ресурс Kubernetes для хранения конфигурационных данных называется ConfigMap. Варианты передачи аргументов в контейнер:  передача аргументов командной строки переменные среды монтирование файла конфигурции Передача аргументов командной строки Команда, которая выполняется в docker состоит из команды и аргументов Entrypoint and CMD В […]

Read More &#8594

Kubernetes StorageClass

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: fast provisioner: k8s.io/minikube-hostpath parameters: type: pd-ssd — apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mongodb-pvc spec: storageClassName: fast resources: requests: storage: 100Mi accessModes: — ReadWriteOnce Когда создаётся PersistentVolumeClaim, автоматически создаётся PersistentVolume kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-505e3dcb-521b-11e9-8daa-080027284abe 100Mi RWO Delete Bound […]

Read More &#8594

Kubernetes PersistentVolume и PersistentVolumeClaim

Настраивается базовое хранилище, например NFS на NAS Затем регистрируется в K8S На его основе создаётся PersistentVolume — определяется размер и права доступа Пользователь делает зявку PersistentVolumeClaim и получает хранилище, не вдаваясь какой тип хранилища используется Для minikube apiVersion: v1 kind: PersistentVolume metadata: name: mongodb-pv spec: capacity: storage: 1Gi accessModes: — ReadWriteOnce — ReadOnlyMany persistentVolumeReclaimPolicy: Retain […]

Read More &#8594

Kubernetes Volumes

Тома являются компонентами пода, они не автономны и удаляются и создаются вместе с подом. Все контейнеры в поде могу получить к нему доступ и он может быть примонтирован в произвольном месте emptyDir – простой пустой каталог, используемый для хранения временных данных; hostPath – используется для монтирования каталогов из файловой системы рабочего узла в модуль; gitRepo […]

Read More &#8594

Kubernetes проверка готовности

Exec — определяет код выхода из програмы GET — просто запрос к серверу socket TCP — подключение к порту Можно задать паузу перед первым запросом на готовность пода. В дальнейшем если под не готов то он выкидывается из службы, когда он становится готов, то добавляется обратно в службу. apiVersion: v1 kind: ReplicationController metadata: name: kubia […]

Read More &#8594

Kubernetes доступ снаружи

NodePort — каждый узел кластера открывает порт на узле и перенаправляет трафик в службу. Service станет доступен по выделенному порту Тип службы LoadBalancer — служба будет доступна через выделенный балансировщик. Клиенты получат доступ к службе через IP балансировщика Ingress — предоставляет доступ к разным службам через один IP, работает на уровне HTTP ( уровень 7) […]

Read More &#8594

Kubernetes сервисы (Service)

apiVersion: v1 kind: Service metadata: name: kubia spec: sessionAffinity: ClientIP ports: — name: http port: 80 targetPort: 8080 — name: https port: 443 targetPort: 8443 selector: app: kubia Обеспечивает доступ к группе контейнеров, например созданных через ReplicaSet с селектором. Данный конфиг обеспечивает ИП только внутри кластера, для связи внутри sessionAffinity: ClientIP — задаётся обращение к […]

Read More &#8594