Рубрики
Uncategorized

Sunstone — простые шаблоны для Куберанес и за его пределами

Sunstone позволяет регламентировать шаблоны без CLI, используйте простой завиток, wget или любой другой клиент HTTP. Теги с Showdev, Kubernetes, DevOps, производительностью.

Sunstone — это простое в использовании, решение NO-CLI для создания шаблонов, которые работают с простой скручивание . Он предназначен для пользователей, которые нуждаются в некоторой функциональности шаблонов, но не хотят использовать инструменты, такие как Helm, которые нуждаются в собственных реестрах, структурах каталогов и механизмы обновления.

В настоящее время Сунэн Нацелены на пользователей Kubernetes, но на самом деле нет никаких ограничений или проблем при использовании его с любыми другими инструментами (оно не заботится о том, являются ли шаблоны Kubernetes, проявляются, проявляются ли шаблоны Kubernetes или Docker Compose файлы или что-то еще).

Цели проекта:

  • Пользователи хоста шаблонов на собственной инфраструктуре, достижимыми от Sunstone (GitHub, Gitlab, S3, Nginx Static File Server).
  • Простота в использовании и открыть Система псевдонима, где пользователи могут поделиться своими собственными шаблонами. Мы могли бы потенциально позволить HUB YAML проявлять указывать на другие ступицы и отвлечь псевдонимы от них.
  • Когда Fetch невозможна, пользователь может создавать и обновлять Private Repo в Sunstone Via Curl или специализированный контейнер докеров (в настоящее время работает как действие GitHub, но будет доступна автономные инструкции), которые могут быть включены в качестве шага Ci.
  • Мертвые простые инструкции по установке для ваших документов. Например, установить Dotscience ML Оператор развертывания модели для вашей учетной записи пользователя, это так же просто, как:
   kubectl apply -f https://sunstone.dev/dotscience?token=my-super-secret-token

Страница развертывания kubernetes в dotscience.com Страница развертывателей :

Пример 1: удаленный шаблон

Здесь у нас есть шаблон, принимаемый на Github на: https://github.com/sunstone-dev/example/blob/master/deployment.yaml . Отказ Содержание:

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: pushwf  
  labels: 
    name: "pushwf"
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: pushwf
  template:
    metadata:
      name: pushwf
      labels:
        app: pushwf
    spec:     
      containers:                    
        - image: keelhq/push-workflow-example:{{ .version | latestRegistrySemver "keelhq/push-workflow-example" }}
          imagePullPolicy: Always
          name: pushwf
          ports:
            - containerPort: {{ .port | default 8500 }}
          livenessProbe:
            httpGet:
              path: /
              port: {{ .port | default 8500 }}
            initialDelaySeconds: 10
            timeoutSeconds: 5    

(RAW LINK: https://raw.githubusercontent.com/sunstone-dev/example/master/deplobement.yaml )

Посмотрите на {{.version | STAYREGARYSEMVER "KEELHQ/push-workflow-пример"}} это STAYREGARYSEMVER Тег шаблона фактически перейдет в этот реестр и извлеките последний меток Semver из реестра:) Нет необходимости обновлять свои документы, когда выпускается новый меток изображения SEMVER!

Теперь, чтобы сделать шаблон, нам нужно знать, что Template Template Sunstone API работает так:

https://sunstone.dev/?=&=

Итак, чтобы сделать наш пример шаблона С значениями по умолчанию , использовать:

https://sunstone.dev/raw.githubusercontent.com/sunstone-dev/example/master/deployment.yaml

Результат должен выглядеть как:

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: pushwf  
  labels: 
    name: "pushwf"
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: pushwf
  template:
    metadata:
      name: pushwf
      labels:
        app: pushwf
    spec:     
      containers:                    
        - image: keelhq/push-workflow-example:0.11.0-alpha
          imagePullPolicy: Always
          name: pushwf
          ports:
            - containerPort: 8500
          livenessProbe:
            httpGet:
              path: /
              port: 8500
            initialDelaySeconds: 10
            timeoutSeconds: 5    

Если вы добавите ? port = 999 к URL:

https://sunstone.dev/raw.githubusercontent.com/sunstone-dev/example/master/deployment.yaml?port=9999

Конечная точка покажет вам разные контейнерные порту:

...
    ports:
            - containerPort: 8500
          livenessProbe:
            httpGet:

...

kubectl позволяет устанавливать непосредственно из этого URL:

https://sunstone.dev/raw.githubusercontent.com/sunstone-dev/example/master/deployment.yaml?port=9999

Пример 2: Использование псевдонимов

Построение целого URL обычно довольно сложно помнить, поэтому у нас есть публичные псевдонимы «HUB», которые позволяют каждому сопоставить свои собственные более короткие псевдонимы в удаленные репозитории. Репозиторий HUB можно найти здесь: https://github.com/sunstone-dev/hub Отказ Если вы хотите внести свой собственный шаблон, просто выведите его и отправьте запрос на тягу.

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

kubectl apply -f https://sunstone.dev/keel

И вы также можете просматривать все публичные псевдонимы здесь: https://apps.sunstone.dev/dashboard

Нажмите «Установить» на любой:

Ввод в переменные поля будут автоматически генерировать ваш шаблон Render URL:

  • Голанг для бэкэнда (API, шаблон)
  • Vue.js.
  • База данных — FireStore на GCP
  • Работает на гке

Слияние

Таблица Sunstone Chillating API будет открытым исходным кодом (по-прежнему нужно сделать некоторую работу, чтобы отделить его от текущего обслуживания мультирентантов), чтобы вы сможете просто принять его где угодно. Можно также провести его через облачные или подобные услуги.

Оригинал: «https://dev.to/krusenas/sunstone-simple-templates-for-kubernetes-and-beyond-1pe1»