Kubernetes создание своих ресурсов через CustomResourceDefinition или CustomApi

Создадим наш ресурс с именем Website, который будет содержать 2 поля: имя сайта и репозиторий git из которого надо взять файлы для сайта

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: websites.extensions.example.com
spec:
  scope: Namespaced
  group: extensions.example.com
  version: v1
  names:
    kind: Website
    singular: website
    plural: websites

Создадим контроллер

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: website-controller
spec:
  replicas: 1
  template:
    metadata:
      name: website-controller
      labels:
        app: website-controller
    spec:
      serviceAccountName: website-controller
      containers:
      - name: main
        image: luksa/website-controller
      - name: proxy
        image: luksa/kubectl-proxy:1.6.2

И пользователя

kubectl create serviceaccount website-controller

Теперь можно создать сам сайт

apiVersion: extensions.example.com/v1
kind: Website
metadata:
  name: kubia
spec:
  gitRepo: https://github.com/luksa/kubia-website-example.git

Так же можно запустить свой api, который будет взяимодействовать с основным api

K8S

Related Articles

0 Comment

Leave a Comment

Ваш адрес email не будет опубликован.