Работа с конфигурацией и пользователями
Работа с конфигурацией кластера
Получить список узлов в кластере
# 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