Шпаргалка по работе с Kubernetes

Работа с конфигурацией и пользователями

Работа с конфигурацией кластера

Получить список узлов в кластере

# kubectl get nodes

Просмотр конфигурации

# kubectl config view

Список контекстов

# kubectl config get-contexts

Текущий контекст

# kubectl config current-context

Сменить текущий контекст

# kubectl config use-context kubernetes-admin@cluster.local

Установить контекст по умолчанию в файле cubeconfig

# kubectl config set-cluster kubernetes-admin@cluster.local


Управление пользователями

Список пользователей

# kubectl config view -o jsonpath='{.users[*].name}’

Получить пароль пользователя

kubectl config view -o jsonpath='{.users[?(@.name == “kubernetes-admin”)].user.password}’

Развертывание и управление объектами

Управление пространствами имен

Список пространств

# kubectl get namespaces

Создать пространство имен

# kubectl create namespace test

Установить пространство имен для использования по умолчанию

# kubectl config set-context –current –namespace=test

Удалить пространство имен

# kubectl delete namespace test


Управление объектами

Создать отдельный деплоймент контейнера

$ kubectl create deployment nginx –image=nginx

Смена дефолтного доменного имени кластера

ConfigMap:

# KUBE_EDITOR=nano kubectl edit configmap coredns -n kube-system

Изменить в блоке:

kubernetes k8s.bds.su in-addr.arpa ip6.arpa {
   pods insecure
   fallthrough in-addr.arpa ip6.arpa
   ttl 30
}

В файле /var/lib/kubelet/config.yaml:

clusterDomain: k8s.bds.su

Параметр в config.yml необходимо изменить на каждом узле, после чего перезагрузить узел.

Использование приватного docker-regestry

Авторизуемся в приватном Docker-registry

$ docker login registry.private.org

Получаем строку авторизации в registry

$ cat ~/.docker/config.json

Создаем Kubernates-секрет на основе json-конфигурации

$ kubectl create secret generic regcred --from-file=.dockerconfigjson=./config.json  --type=kubernetes.io/dockerconfigjson --namespace=demo-passports

Или в виде yaml-конфигурации

apiVersion: v1
data:
  .dockerconfigjson: ewoJI....X0KfQ==
kind: Secret
metadata:
  name: appfinance-reg-secret
  namespace: demo-passports
type: kubernetes.io/dockerconfigjson

Создаем описание деплоймента с получением образа из приватного Registry

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: passports-web
  namespace: demo-passports
  labels:
    app: passports-web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: passports-web
  template:
    metadata:
      labels:
        app: passports-web
    spec:
      containers:
      - name: passports-web
        image: registry.private.org/wis/passport-web:1.10
      imagePullSecrets:
        - name: appfinance-reg-secret

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *