Представляем Kubernetes 1.8: более пристальный взгляд на новые функции и улучшения

Kubernetes произвел революцию в мире оркестрации контейнеров, предоставив разработчикам возможность эффективно управлять и масштабировать свои приложения. С каждой новой версией Kubernetes добавляет интересные функции и улучшения. В этой статье блога мы углубимся в Kubernetes версии 1.8 и рассмотрим заметные дополнения, которые появились в ней. Итак, давайте пристегнемся и отправимся в путешествие по Kubernetes!

  1. Управление доступом на основе ролей (RBAC).
    Одним из важных нововведений в Kubernetes 1.8 стал RBAC, который обеспечивает более детальный механизм управления доступом. RBAC позволяет определять роли и назначать определенные разрешения пользователям или группам, обеспечивая безопасную и контролируемую среду. Вот пример создания роли и привязки ее к пользователю:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: my-role
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: my-role-binding
roleRef:
  kind: Role
  name: my-role
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User
  name: john@example.com
  1. StatefulSets:
    В Kubernetes 1.8 появились StatefulSets, которые позволяют управлять приложениями с отслеживанием состояния. StatefulSets обеспечивает стабильную сетевую идентификацию и постоянное хранилище для каждого модуля, гарантируя упорядоченное развертывание и масштабирование. Вот пример определения StatefulSet:
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: my-statefulset
spec:
  replicas: 3
  serviceName: my-service
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: my-image:latest
        ports:
        - containerPort: 8080
  1. Внешний сервер метрик Kubernetes.
    В Kubernetes 1.8 представлен внешний сервер метрик Kubernetes, который предоставляет показатели использования ресурсов для узлов и модулей кластера. Эта функция позволяет вам собирать ценную информацию о производительности вашей инфраструктуры Kubernetes. Вот пример получения метрик модуля с помощью API сервера метрик:
kubectl top pods
  1. Определения настраиваемых ресурсов (CRD):
    CRD дебютировали в Kubernetes 1.8, позволяя пользователям определять настраиваемые ресурсы и управлять ими. CRD расширяют API Kubernetes, позволяя вам добавлять объекты и контроллеры, специфичные для домена. Вот пример определения CRD для пользовательского ресурса под названием «MyResource»:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: myresources.example.com
spec:
  group: example.com
  version: v1
  names:
    kind: MyResource
    plural: myresources
  scope: Namespaced

В Kubernetes 1.8 появилось несколько интересных функций и улучшений, которые еще больше укрепили его позиции как ведущей платформы оркестрации контейнеров. Добавление RBAC повысило безопасность, а StatefulSets расширил возможности управления приложениями с отслеживанием состояния. Внешний сервер метрик Kubernetes предоставил ценную информацию об использовании ресурсов, а CRD открыли новые возможности для пользовательских ресурсов. С каждой новой версией Kubernetes продолжает развиваться, делая оркестровку контейнеров более мощной и доступной, чем когда-либо прежде.