0x00 Быстрый старт
1.Что такое Тектон?
историческая справка
Tekton Предшественник Knative
подпроекты build-pipeline
,В основном используется для Kantive
из build Модуль добавлен pipeline После того, как функция станет независимой, конечная цель Tekton — стать универсальным CI/CD
инструмент.
В настоящее время доля рынка частных облаков относительно высока. CICD пара инструментов Kubernetes
поддерживаются, например Jenkins、GitLab CI
。нода Этиинструмент Толькода Воля Kubernetes как его расширение из аспекта, Kubernetes как Новое из инфраструктуры, родное из необходимого CICD план. С другой стороны, Дженкинс подпроекты JenkinsX
Также начал использоваться по умолчанию Tekton как CI двигатель. Использовать облачную среду CRD
(тип встроенного ресурса Kubernetes,Прямо сейчаспользовательский ресурсиз Определения) + Controller
Понимать Tekton , нет сомнений, что есть шанс стать облачным роднойиз Основной механизм оркестровки.
Краткое введение описывать: Tekton даан с открытым исходным кодом родной Непрерывная интеграция и непрерывная доставка/развертывание【Cloud Native CI/CD] раствор,Разрабатывайте с использованием языка Golang, который позволяет разработчикам быстро и гибко определять конвейеры через облачную платформу K8S.,Это облегчает постройку、тестиразвертыватьсистема,В настоящее время да управляется CD Foundation [https://cd.foundation/] из проекта.,Он следует лучшим практикам OpenSSF.
Добрые советы: Эта глава представляет собой первое введение в GitOpsсерединаизTekton. Автор продолжит обновлять Tekton+ArgoCD в будущем. В сочетании с практическими руководствами Tekton Больше внимания уделяйте строительству CI/CD Трубопровод, Арго КД Больше внимания уделяется управлению приложениями и развертыванию, надеюсь, вы будете уделять больше внимания на【Руководство по обучению полнофункционального инженера
】,автор ВоляПубликуйте больше оригинальных статей
。
Адрес официального сайта Tekton: https://tekton.dev/
описывать: представленный ранее Tekton В основном используется длясуществоватьоблачный среда родной архитектуры середина завершает части CI и CD,В основном используется инженерами и разработчиками dadevops.,Его фокус должен бытьдасуществоватьоблачный родной Микросервисные приложения, а также традиционные приложения
изCIО непрерывной интеграции,
используется в дополнение к tekton из Преимущества заключаются в следующем
Tekton Pipelines серединасамое важноеизпять концепций:Task
、TaskRun
、Pipeline
、PipelineRun
、PipelineResources
(ужесуществоватьv0.44версия была отвергнута,Вот краткое введение).
Task
:Tekton серединаиз Наименьшая единица, представляющая собой шаблон задачи, включающий несколько шагов. Определите упорядоченный шаг и каждый Step позвоните конкретному существующий инструмент строится на определенном наборе входных данных и производит определенный набор выходных данных, которые могут быть использованы в качестве следующих входных данных. Step。TaskRun
:Создать конкретный экземпляр из Task существует определенный набор входных данных и генерирует определенный набор выходных данных, а TaskRun создам перепишусяиз Под,каждый step переписываться pod серединаизодин container。Pipeline
:Tekton в серии заказанных Task Он формирует направленный ациклический граф и определяет шаблон конвейера.PipelineRun
:Pipeline Вам необходимо определить PipelineRun,как конвейер из примера,Создайте запись конвейера.PipelineResource
(ужевыброшенный):Процесс выполнения конвейерасерединануждатьсяиз Информация о ресурсе。Пример диаграммы выполнения шагов, задач и конвейеров
Step
середина Определение рабочего процесса CI/CD может завершить определенный этап операций, таких как извлечение кода, компиляция и сборка программ Java, создание образов и развертывание приложений, Tekton Обычно для каждого этапа создается Контейнер.Task
середина расположен в порядке Step из коллекции, определяющей общую среду тома Kubernetes, Tekton to Kubernetes Подиз формирует запущенную задачу, и каждый шаг ее середина становится работающим контейнером подсередина.Pipelines
серединарасположен в порядке Task из коллекции, Тектон Соберите все задачи, подключите их к направленному ациклическому графу (DAG) середина и выполняйте их один за другим по порядку. Другими словами, он создает множество Kubernetes. модули и убедитесь, что каждый модуль работает успешно, как требуется.Добрые советы: Задача(Tasks
)итрубопровод(Pipelines
)обозначен какKubernetesкластерсерединаиз Пользовательские ресурсы(CRD
)。
Расширение знаний: Task、Pipeline Когда они используются?
Task
- Подходит для более простыхизрабочая нагрузка,НапримерЗапустите тесты, проверьте или создайте кэш Kaniko.
, Task Выполнить в одном Kubernetes Поды, использующие один диск, обычно остаются простыми.Pipeline
- Подходит для сложныхизрабочая нагрузка,Напримерстатический анализ,А также тестирование, построение и развертывание комплекса из проектов.
Пример диаграммы запуска TaskRuns и PipelineRuns
pipelineRuns
да Pipeline запись изExecution, которая может инициировать выполнение Pipeline Прямо сейчас Рабочий процесс CI/CD
,Каждое выполнение станет серединным отслеживаемым ресурсом кластера Kubernetes изpipelineRun.TaskRuns
да Task из Специальное исполнение, Когда вы выбираете существование трубопровода Это очень полезно при запуске задачи вне приложения. Оно позволяет просматривать детали выполнения каждого шага задачи.Краткое изложение знаний: TaskRuns
и PipelineRuns
Запустите ресурс с помощью Task
и Pipeline
Для подключения запуск должен включать фактический адрес ресурса, например URL-адрес репозитория, задачу или требование конвейера, что позволяет разработчикам повторно использовать его для различных входных и выходных данных. Task
или Pipeline
.
Добрые советы: Вы можете создать его вручную taskRun
илиpipelineRuns
и через Tekton Triggers Автоматически запускайте Tekton для немедленного запуска задачи или конвейера.
описывать: В этом разделе будет объяснено Tekton Как его изучить и использовать, мы можем обратиться к официальным изTask, Pipeline и Tekton. Примеры триггеров для вводного обучения и быстрого старта: https://tekton.dev/docs/getting-started/
Второе — обратиться к Тектону. Проект Github серединаизTask, Taskrun, Pipeline, Pipeline и подключенный том, Step Примеры расширенных примеров, таких как хранение результатов, доступны по адресу: https://github.com/tektoncd/pipeline/tree/main/examples
Наконец, обратитесь к Tekton Hubсерединаиз часто используемый скрипт изTask,Помогите зрителям быстро начать работу.,После того, как вы с ним ознакомитесь, вы сможете позже написать свою собственную задачу.,Затем используйте Pipeline для настройки комбинации конвейеров.,Адрес: https://hub.tekton.dev.
До сих пор,Мы можем быстро научиться использовать его, воспользовавшись приведенным выше сайтом середина.,И примените существование к вашей внутренней среде GitOps середина.
0x01 Установка и развертывание
Среда развертывания
Тестовая среда и описание версии:
# K8S Высокодоступный узел кластера x 4
Версия выпуска системы: Ubuntu 20.04
Kubernetes v1.23.17
Tekton -> Pipelines v0.44.4 | Triggers v0.22.2 | Dashboard v0.35.1
pipeline
описывать: Tekton Pipelines Проект обеспечивает k8s Стиль ресурсов используется для объявлений. CI/CD Стиль из трубы. Тектон Pipelines МожетразвертыватьлюбомуизK8Sкластер,Задачи конвейерного серединаиз могут выполняться независимо,Ресурсы хранилища Git могут легко взаимодействовать друг с другом.
Адрес проекта: https://github.com/tektoncd/pipeline/releases
Добрые советы: Для разных версий Kubernetes требуется разный Tekton. Версия Pipelines, вам следует проверить официальную документацию. Required Kubernetes Version глава, Например, окружение автора k8s на данный момент такое: Следует выбрать версию v1.23.x v0.41.x <= Дополнительный диапазон <v0.45.x
междуиз Версия 。
v0.24.x release of Tekton: Kubernetes version 1.18 or later
v0.27.x release of Tekton: Kubernetes version 1.19 or later
v0.30.x release of Tekton: Kubernetes version 1.20 or later
v0.33.x release of Tekton: Kubernetes version 1.21 or later
v0.39.x release of Tekton: Kubernetes version 1.22 or later
v0.41.x release of Tekton: Kubernetes version 1.23 or later
v0.45.x release of Tekton: Kubernetes version 1.24 or later
Добрые советы: Pipelines v0.44.4 | Triggers v0.22.2 | Dashboard v0.35.1 Версию из связанных изображений можно скачать с сайта существующего автора dockerHubсередина, адрес https://hub.docker.com/r/weiyigeek/
Рассказать тебе по секрету?【Комплексное обучение компьютерных специалистов】Апплет WeChatужеоткрыть
Просматривать статьи блоггера можно прямо в WeChat. В будущем будут опубликованы еще больше интересных статей.
Этапы установки Шаг 1. Загрузите список развертывания ресурсов конвейера tektoncd.
mkdir -vp /storage/dev/webapp/tekton-pipelines/Tekton
cd /storage/dev/webapp/tekton-pipelines/Tekton
curl -Ls https://github.com/tektoncd/pipeline/releases/download/v0.44.4/release.yaml -o TektonCD-Pipelines.yaml
Step 2. Используйте статью автора【 Как использовать GitHub Action элегантно синхронизирует сторонние изображения с DockerHub или частными складами.
】Статья из метода[ https://mp.weixin.qq.com/s/0STtKrlgYqpoqwMgb0QnoA],Используйте действие Github, чтобы переместить указанный образ в наш изDockerHubсередина или частное хранилище образов середина.,Выполните следующим образомShellСкрипт СтроитьskopeoКоманды синхронизации и замены Список ресурсовсередина Похожие изображения。
DOCKER_USERHUB=weiyigeek/tektoncd-pipeline-
grep "image: " TektonCD-Pipelines.yaml | cut -f 2,3 -d ":" | cut -f 1 -d "@" > TektonCD-Pipelines-image.txt
grep "git-image" TektonCD-Pipelines.yaml | sed -e "s#,#\n#g" -e 's/"//g' | grep "gcr.io" | cut -f 1 -d "@" >> TektonCD-Pipelines-image.txt
for i in `cat TektonCD-Pipelines-image.txt`;do
echo skopeo copy --all docker://${i} docker://${DOCKER_USERHUB}${i##*/}
sed -i "s#${i}#${DOCKER_USERHUB}${i##*/}#g" TektonCD-Pipelines.yaml
done
Результат выполнения:
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller:v0.44.4 docker://weiyigeek/tektoncd-pipeline-controller:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/resolvers:v0.44.4 docker://weiyigeek/tektoncd-pipeline-resolvers:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook:v0.44.4 docker://weiyigeek/tektoncd-pipeline-webhook:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init:v0.44.4 docker://weiyigeek/tektoncd-pipeline-git-init:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.44.4 docker://weiyigeek/tektoncd-pipeline-entrypoint:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/nop:v0.44.4 docker://weiyigeek/tektoncd-pipeline-nop:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/sidecarlogresults:v0.44.4 docker://weiyigeek/tektoncd-pipeline-sidecarlogresults:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/imagedigestexporter:v0.44.4 docker://weiyigeek/tektoncd-pipeline-imagedigestexporter:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/pullrequest-init:v0.44.4 docker://weiyigeek/tektoncd-pipeline-pullrequest-init:v0.44.4
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/workingdirinit:v0.44.4 docker://weiyigeek/tektoncd-pipeline-workingdirinit:v0.44.4
Адрес проекта на Github (можете форкнуть, а потом менять проект самостоятельно серединаизсекретс Прямо сейчас Может): https://github.com/WeiyiGeek/action-sync-images/ , поместите приведенные выше результаты выполнения в рабочий процесс, показанный на рисунке ниже.
Шаг 3. Развертывание Tekton Pipelines
# развертывать Tekton-Pipelines
kubectl apply -f TektonCD-Pipelines.yaml
# Просмотр статуса модуля (создается по умолчанию tekton-pipelines и tekton-pipelines-resolvers два пространства имен )
kubectl get pods --namespace tekton-pipelines -l app.kubernetes.io/part-of=tekton-pipelines
# NAME READY STATUS RESTARTS AGE
# tekton-pipelines-controller-568fdb7466-dsddr 1/1 Running 0 5m
# tekton-pipelines-webhook-7f7cc7d4d6-4tsmb 1/1 Running 0 5m
kubectl get pods --namespace tekton-pipelines-resolvers -l app.kubernetes.io/part-of=tekton-pipelines
# NAME READY STATUS RESTARTS AGE
# tekton-pipelines-remote-resolvers-7b4bc78db5-rwj5j 1/1 Running 0 5m
Результат выполнения:
Monitor the installation:
kubectl get pods --namespace tekton-pipelines --watch
When all components show 1/1 under the READY column, the installation is complete. Hit Ctrl + C to stop monitoring.
# Если других ошибок нет, все модули в пространстве имен tekton-pipelines запущены и отображается следующее приглашение, установка прошла успешно.
Congratulations! You have successfully installed Tekton Pipelines on your Kubernetes cluster.
описываю: Tekton Triggersда Контроллер определения пользовательского ресурса Kubernetes (CRD),Это позволяет вам базировать полезную нагрузку событий изсерединаизвлекатьизинформациясоздаватьKuberneteресурс。
Адрес проекта: https://github.com/tektoncd/triggers Документация по установке: https://tekton.dev/docs/installation/triggers/.
Добрые советы: То же самое из,Для разных версий Kubernetes требуется разный Tekton. версию триггеров, вам следует проверить официальную документацию Required Kubernetes Version глава, Например, окружение автора k8s на данный момент такое: Следует выбрать версию v1.23.xv0.22.x
из Версия 。
v0.23.x release of Triggers: Kubernetes version 1.24 or later
v0.22.x release of Triggers: Kubernetes version 1.23 or later
v0.21.x release of Triggers: Kubernetes version 1.22 or later
Этапы установки Step 1. Скачать с официального сайта tekton-triggers необходимыйиз Список ресурсов。
curl -ls https://storage.googleapis.com/tekton-releases/triggers/previous/v0.22.2/release.yaml -o TektonCD-Triggers.yaml
curl -ls https://storage.googleapis.com/tekton-releases/triggers/previous/v0.22.2/interceptors.yaml -o TektonCD-Triggers-interceptors.yaml
Step 2. Так же, как и шаг 2 установки конвейеров, автор использует эту статью [ Как использовать GitHub Action элегантно синхронизирует сторонние изображения с DockerHub или частными складами.
】Статья из метода[https://mp.weixin.qq.com/s/0STtKrlgYqpoqwMgb0QnoA],Используйте действие Github, чтобы переместить указанный образ в наш изDockerHubсередина или частное хранилище образов середина.,Выполните следующим образомShellСкрипт СтроитьskopeoКоманды синхронизации и замены Список ресурсовсередина Похожие изображения。
DOCKER_USERHUB=weiyigeek/tektoncd-triggers-
grep "image: " TektonCD-Triggers.yaml TektonCD-Triggers-interceptors.yaml | cut -f 3,4 -d ":" | cut -f 1 -d "@" | tr -d '"'> TektonCD-triggers-image.txt
grep '-el-image' TektonCD-Triggers.yaml | sed -e "s#,#\n#g" -e 's/"//g' | grep "gcr.io" | cut -f 1 -d "@" >> TektonCD-triggers-image.txt
for i in `cat TektonCD-triggers-image.txt`;do
echo skopeo copy --all docker://${i} docker://${DOCKER_USERHUB}${i##*/}
if [[ $(echo ${i} | grep -c "interceptors") -gt 0 ]];then
sed -i "s#${i}#${DOCKER_USERHUB}${i##*/}#g" TektonCD-Triggers-interceptors.yaml
else
sed -i "s#${i}#${DOCKER_USERHUB}${i##*/}#g" TektonCD-Triggers.yaml
fi
done
Результат выполнения:
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/controller:v0.22.2 docker://weiyigeek/tektoncd-triggers-controller:v0.22.2
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/webhook:v0.22.2 docker://weiyigeek/tektoncd-triggers-webhook:v0.22.2
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/interceptors:v0.22.2 docker://weiyigeek/tektoncd-triggers-interceptors:v0.22.2
skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/triggers/cmd/eventlistenersink:v0.22.2 docker://weiyigeek/tektoncd-triggers-eventlistenersink:v0.22.2
Адрес проекта на Github (можете форкнуть, а потом менять проект самостоятельно серединаизсекретс Прямо сейчас Может): https://github.com/WeiyiGeek/action-sync-images/ , поместите приведенные выше результаты выполнения в конвейеры, шаг 2, как показано на рисунке середина из рабочего процесса середина.
Шаг 3. Развертывание триггеров Tekton
# развертыватьTriggers Список ресурсов
kubectl apply -f TektonCD-Triggers.yaml
kubectl apply -f TektonCD-Triggers-interceptors.yaml
# Проверятьразвертывать Список Ресурсы Подда функционируют должным образом?
$ kubectl get pods --namespace tekton-pipelines -l app.kubernetes.io/part-of=tekton-triggers --watch
# NAME READY STATUS RESTARTS AGE
# tekton-triggers-controller-56d988bf44-sfp5x 1/1 Running 0 6m4s
# tekton-triggers-core-interceptors-d56b49cf-gr9b5 1/1 Running 0 6m3s
# tekton-triggers-webhook-544d4d5f6-msg4g 1/1 Running 0 6m4s
Описание: Тектон Dashboard — универсальный веб-интерфейс пользователя для Tekton. PipelinesиTekton Запускает ресурсы, Он позволяет пользователям управлятьи ПроверятьTektonресурсизсоздавать、осуществлятьирезультат Проверять,Он поддерживает некоторые функции:
Адрес проекта: https://github.com/tektoncd/dashboard/ Документация по установке: https://tekton.dev/docs/dashboard/
Добрые советы: То же самое из,Для разных версий Kubernetes требуется разный Tekton. dashboardВерсияипереписываться СPipelines Releases / Triggers Releases
Версия,вам следует Проверять Официальная документация Required Kubernetes Version глава, Например, окружение автора k8s на данный момент такое: Следует выбрать версию v1.23.xv0.22.x
из Версия 。
# v0.35 (LTS)
Latest Release: v0.35.1 (2023-05-31) (docs)
Initial Release: v0.35.0 (2023-04-25)
End of Life: 2024-04-24
Patch Releases: v0.35.0, v0.35.1
Supported Pipelines Releases: v0.44.x LTS, v0.47.x LTS
Supported Triggers Releases: v0.23.x
Этапы установки
Step 1. Скачать с официального сайта Tekton Dashboard необходимыйиз Список ресурсов, Обратите внимание, что оно разделено на release
и release-full
Передняя версия двух версий поддерживает только чтение, а последняя поддерживает такие операции, как изменение конвейера. Здесь автор использует полную версию.
curl -ls https://storage.googleapis.com/tekton-releases/dashboard/previous/v0.35.1/release-full.yaml -o TektonCD-Dashboard-full.yaml
Step 2. Так же, как и шаг 2 установки конвейеров, автор использует эту статью [Как использовать GitHub Action элегантно синхронизирует сторонние изображения с DockerHub или частными складами.
】статьяиз Способ,Используйте действие Github, чтобы переместить указанный образ в наш изDockerHubсередина или частное хранилище образов середина.,Выполните следующим образомShellСкрипт СтроитьskopeoКоманды синхронизации и замены Список ресурсовсередина Похожие изображения。
DOCKER_USERHUB=weiyigeek/tektoncd-dashboard-
grep "image: " TektonCD-Dashboard-full.yaml | cut -f 2,3 -d ":" | cut -f 1 -d "@" > TektonCD-dashboard-image.txt
for i in `cat TektonCD-dashboard-image.txt`;do
echo skopeo copy --all docker://${i} docker://${DOCKER_USERHUB}${i##*/}
sed -i "s#${i}#${DOCKER_USERHUB}${i##*/}#g" TektonCD-Dashboard-full.yaml
done
Результат выполнения: skopeo copy --all docker://gcr.io/tekton-releases/github.com/tektoncd/dashboard/cmd/dashboard:v0.35.1 docker://weiyigeek/tektoncd-dashboard-dashboard:v0.35.1
Шаг 3. Развертывание панели управления Tekton
# развертывать Tekton Dashboard Список ресурсов
kubectl apply -f TektonCD-Dashboard-full.yaml
# namespace/tekton-dashboard created
# customresourcedefinition.apiextensions.k8s.io/extensions.dashboard.tekton.dev created
# serviceaccount/tekton-dashboard created
# role.rbac.authorization.k8s.io/tekton-dashboard-info created
# clusterrole.rbac.authorization.k8s.io/tekton-dashboard-backend created
# clusterrole.rbac.authorization.k8s.io/tekton-dashboard-tenant created
# rolebinding.rbac.authorization.k8s.io/tekton-dashboard-info created
# clusterrolebinding.rbac.authorization.k8s.io/tekton-dashboard-backend created
# configmap/dashboard-info created
# service/tekton-dashboard created
# deployment.apps/tekton-dashboard created
# clusterrolebinding.rbac.authorization.k8s.io/tekton-dashboard-tenant created
# Посмотреть ситуацию с развертыванием
kubectl get pods --namespace tekton-pipelines -l app.kubernetes.io/part-of=tekton-dashboard
# NAME READY STATUS RESTARTS AGE
# tekton-dashboard-855f998964-pj6xx 1/1 Running 0 46h
Step 4. Для Тектона DashboardДоменное имя конфигурации сайтаtest.weiyigeek.top
,Здесь я существуюTencent Cloud середина подала заявку на бесплатный SSL-сертификат,Настройте SSL для этого сайта, После подачи заявки это займет около 5-10 минут. Сейчас Да, после выдачи существующего сертификата нажмите «Загрузить», чтобы загрузить корневой сертификат (crt-файл) и Nginx (применимо к большинству сценариев) (файл pem, файл crt, файл ключа), загрузите его на сервер и используйте распаковку для его распаковки.
Адрес приложения: https://cloud.tencent.com/act/cps/redirect?redirect=10019&cps_key=b33075ae5a2baf3b47e7456ee5821502
# Разархивировать сертификат
unzip test.weiyigeek.top_nginx.zip
cd test.weiyigeek.top_nginx/ && ls
test.weiyigeek.top_bundle.crt test.weiyigeek.top_bundle.pem test.weiyigeek.top.csr test.weiyigeek.top.key
# создавать tls из secret
kubectl create secret tls test-weiyigeek-top-certs --cert=test.weiyigeek.top_bundle.crt --key=test.weiyigeek.top.key -n tekton-pipelines
# secret/test-weiyigeek-top-certs created
Step 5.здесьавторужечерезсуществоватькластерсередина Установленоingress-nginx
,Если еще не установленразвертыватьиз Может参考автор此篇статья【 Ingress-Nginx Базовое обучение и практика предоставления услуг
】[https://blog.weiyigeek.top/2020/5-27-529.html]официальный сайт ingress-nginx,осуществлять Следующие командысоздаватьingressправило,чтобы мы могли пройтиhttps://test.weiyigeek.top/tekton/
доступ по адресу Tekton-Dashboard Служить.
# ingressclasses Вид контроллера
kubectl get ingressclasses.networking.k8s.io
# NAME CONTROLLER PARAMETERS AGE
# nginx k8s.io/ingress-nginx <none> 397d
# TektonCD-Dashboard-ingress Список ресурсов
tee TektonCD-Dashboard-ingress.yaml <<'EOF'
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: tekton-dashboard
namespace: tekton-pipelines
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- host: test.weiyigeek.top
http:
paths:
- path: /tekton(/|$)(.*)
pathType: ImplementationSpecific
backend:
service:
name: tekton-dashboard
port:
number: 9097
tls:
- hosts:
- test.weiyigeek.top
secretName: test-weiyigeek-top-certs
EOF
# развертывать Dashboard-ingress
kubectl apply -f TektonCD-Dashboard-ingress.yaml
# ingress.networking.k8s.io/tekton-dashboard created
# Проверятьразвертывать Dashboard-ingress
kubectl get ingress -n tekton-pipelines
# NAME CLASS HOSTS ADDRESS PORTS AGE
# tekton-dashboard <none> test.weiyigeek.top 10.107.81.40 80, 443 15s
Step 6.Жесткий парсинг настроек клиентаили Используйте внутреннийDNSсервер Воляtest.weiyigeek.top
разобрать наKubernetesпроизвольныйодинузел,Обычно указывается выходной узел,Напримерздесь10.20.176.215 test.weiyigeek.top
。
Затем используйте браузер для доступа tekton-dashboard адрес(https://test.weiyigeek.top/tekton/
) , Если конфигурация правильная, она будет отображаться, как показано ниже:
На данный момент Тектон существования K8S установлен штатные компоненты.
Tekton CLI
Описание: Tekton Pipelines CLIПроект обеспечивает интерфейс командной строки (CLI).,Используется для взаимодействия с Tekton.,Tekton — это платформа с открытым исходным кодом для систем непрерывной интеграции и доставки (CI/CD).
Адрес проекта: https://github.com/tektoncd/cli/releases Документация по использованию: https://tekton.dev/docs/cli/
Процесс установки
Шаг 1. Укажите последнюю версию Cli и разверните бинарный метод установки.
CLI_VERSION="0.31.1"
curl -LO https://github.com/tektoncd/cli/releases/download/v${CLI_VERSION}/tkn_${CLI_VERSION}_Linux_x86_64.tar.gz
# Здесь стоит изучить команду. Просто распакуйте сжатый пакет серединаизtkn в каталог /usr/local/bin/ середина.
tar xvzf tkn_${CLI_VERSION}_Linux_x86_64.tar.gz -C /usr/local/bin/ tkn
Шаг 2. Добавьте tkn в качестве плагина kubectl.
# создательпрограммная ссылка
ln -s /usr/local/bin/tkn /usr/local/bin/kubectl-tkn
# Проверьте конфигурацию плагина
kubectl plugin list
# The following compatible plugins are available:
# /usr/local/bin/kubectl-tkn
На этом статья заканчивается. Если вам нужны дополнительные технические статьи, ждите следующей статьи!
Исходный адрес: https://blog.weiyigeek.top/2023/7-22-768.html