Рубрики
Uncategorized

Развертывание приложений на Kubernetes с помощью Tymdercript

Нет сомнений в том, что YAML разработал репутацию, чтобы быть болезненным способом определить и развернуть … Теги с Kubernetes, JavaScript, Teamscript, Devops.

Нет сомнений в том, что YAML разработал репутацию для того, чтобы быть болезненным способом определить и развернуть приложения на Kubernetes. Сочетание семантики и пустых мест могут водить некоторые разработчики с ума.

Поскольку Kubernetes продвигаются, это время для нас, чтобы мы исследовали разные варианты, которые могут поддерживать как DEVOPS, так и разработчики в развертывании и управлении приложениями на Kubernetes?

Использование кода для определения … Код …?

Пулуби: Современная инфраструктура как код для разработчиков, A.k.a Новый ребенок на блоке.

Пулуби нацелен на широко распространенную инфраструктуру в виде пространства кода (IAC), но используя другой подход. Это позволяет разработчикам определять инфраструктуру с использованием их языка выбора, таких как Tymdercript, JavaScript, Python и другие, а не проприетарный язык, такой как HCl, от наших друзей на Hashicorp.

Это захватывающий подход, который может принести пользу команды при масштабировании управления и эволюции инфраструктуры, поскольку легче найти людей в вашей группе, которые могут помочь написать, управлять и расширять инфраструктуру в качестве определений кода с использованием существующих языков.

Расширение кетчи

Несмотря на то, что подход, взятый пулуби, интригует, то, как он развертывает приложения на Kubernetes сегодня — очень «ориентирована на инфраструктуру. » То, что я подразумеваю в том, что пулуби требует, чтобы разработчики определили все проявления и объект Kubernetes, поскольку они будут делать с рулем, но используя их предпочтительный язык.

Хотя он может принести некоторые первоначальные преимущества, он все еще требует, чтобы разработчики узнали, как подробно определить объекты в Кубернанах.

Вместо этого, сочетая ориентированный на приложение подход от Кетк С помощью модели IAC от пулумов разработчики могут иметь сосредоточенный накладной слой, который они могут использовать для быстрого развертывания своих приложений, не попадающие в основные детали инфраструктуры, выставленной Kubernetes.

Мы пройдемся по шагам, чтобы развернуть приложение, используя Ketch и Pulumi, но вы можете найти дополнительные детали о плагине здесь:

Документация по провайдеру

Установка кетчи

Вы можете найти подробную информацию о том, как Установите кетч здесь

Установка поставщика Ketch для пультами

Скачать плагин ресурса Ketch для пультами здесь

После загрузки переместите его на локальный путь пуловы:

MV Pulumi-Resource-Ketch $ Home/.Pulumi/Bin

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

Экспорт путь = $ PATH: $ HOLE/.PULUMI/BIN

Развертывание приложения

С KETH и провайдером для установленных пулумов вы теперь можете развернуть пример приложения.

Для Ketch для развертывания приложений мы сначала должны создать рамку. Frameworks в Ketch переводится на пространство имен в вашем кластере, а при развертывании приложений, ориентированных на эту структуру, они будут развернуты в созданное пространство имен.

Давайте инициализируем пулуби, чтобы мы могли начать. Вы можете сделать это с помощью:

Pulumi New Typeyctry

В результате пулуби создаст структуру файлов, необходимую для вас, чтобы запустить Ketch и Pulumi:

Теперь давайте создадим Кетк Файл определения рамки. Вы можете редактировать index.ts Файл и добавьте следующий контент:

import * as pulumi from "@pulumi/pulumi";
import * as ketch from "@shipa-corp/kpulumi";

const item = new ketch.Framework("dev-framework", {
    framework: {
        name: "dev",
        ingressController: {
            className: "istio",
            serviceEndpoint: "1.2.3.4",
            type: "istio",
        }
    }
});

export const frameworkName = item.framework.name;

const app = new ketch.App("bulletin-app", {
    app: {
        name: "bulletin-app",
        image: "docker.io/shipasoftware/bulletinboard:1.0",
        framework: "dev",
    }
});

export const appName = app.app.name;

С index.ts Обновлен файл, установите необходимый пакет NPM, используя команду ниже:

NPM I @ Shipa-Corp/KPulumi

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

пуловка вверх

Выходе выше, показывает, что как структура, так и приложения были развернуты.

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

Кетч Framework List.

Как упоминалось выше, когда вы создаете рамки, Кетк автоматически создает пространство имен для него в вашем кластере (Вы также можете поручить кетч использовать существующее пространство имен)

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

Список приложений Ketch

Если мы получим доступ к конечной точке, созданной выше, мы видим веб-интерфейс нашего приложения:

Заключение

Объединяя Ketch и Pulumi, вы можете улучшить опыт разработчика при развертывании приложений на Kubernetes.

Мы хотели бы услышать ваши отзывы и вводить, чтобы продолжить улучшение Ketch и построить дополнительных поставщиков.

Поддержите проект

Помогите поддержать кетч, давая ей звезда GitHub!

Оригинал: «https://dev.to/brunoa19/deploying-applications-on-kubernetes-using-typescript-3fn9»