Сфера
Это скажет прогулки по специальностям при получении Прук Работа над Tiibm Cloud. Многие из этого взяты из Начало работы Но там варенно специфики вам нужны для облака IBM. Вы также можете принять это как пример для общих кластеров Kubernetes минус команды облачных команд IBM.
Создать бот
Первое, что вы должны сделать, это создать бот GitHub. Это будет учетная запись, которая работает с вашего нос
пример. Если вы не знаете, как руда, где пользуюсь этим Регистрация страница.
Обязательно добавьте бот в репозитории, которые вы ожидаете, что он должен смотреть, он должен быть администратором/владельцем бобов, чтобы убедиться, что он может видеть и делать то, что ему нужно. Далее создайте токен личного доступа GitHub для бота.
Для разрешений Добавьте следующее: создайте личный токен доступа для учетной записи Bot GitHub, добавляя следующие призывы
- Должен иметь public_repo и репо: состояние статуса
- Добавьте область репо, если вы планируете передавать частный репо
- Добавьте администратор: ORG_HOOK SCOPE, если вы планируете обработать GitHub org
Поместите этот ключ API в файл, как github_token.
или тому подобное.
Проверьте код запроса
Далее вам нужен Прук
Код, чтобы вы могли установить его на кластере Kubernetes. Пройдите вперед и оформируйте код с помощью следующей команды.
git clone git@github.com:kubernetes/test-infra.git
Изменить каталог в Test-enfra
Каталог, который вы создали, и Continueto следующий шаг.
Создать привязки ролей кластера
Вам нужно будет создать КЛУСТЕРРОЛОБИНГИНГ
Для вашего пользователя вы входите в систему как. На IBM Cloud ваше имя пользователя IAM @ IBMID
В качестве примера ниже мой.
export USER="IAM#jja@ibm.com" kubectl create clusterrolebinding cluster-admin-binding-${USER} --clusterrole cluster-admin --user="${USER}"
Это удостоверится, что когда вы применяете манифесты Прук
Экземпляр Cancreate Все разные вещи, которые требуются на вашем кластере Kubernetes.
Создайте секрет GitHub
Далее вы должны создать свои секреты для вашего экземпляра Прук
Отказ Используя следующиеCommands, вы можете создать свой главный секрет
Отправить конечную точку веб -ook. Используйте github_token
Вы создали ранее для 3-й команды.
openssl rand -hex 20 > ./secret kubectl create secret generic hmac-token --from-file=hmac=./secret kubectl create secret generic oauth-token --from-file=oauth=../github_token
Применить Starter.yaml.
Теперь, когда у вас есть большинство, вам нужно развернуть фактические проявления для Прук
Отказ Следующая команда будет нажать и начать устанавливать ваш экземпляр.
kubectl apply -f config/prow/cluster/starter.yaml
Теперь проверьте развертывание, все должно быть в Готов
штат и ДОСТУПНЫЙ
.
kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE deck 2/2 2 2 2m hook 2/2 2 2 2m horologium 1/1 1 1 2m plank 1/1 1 1 2m sinker 1/1 1 1 2m statusreconciler 1/1 1 1 2m tide 1/1 1 1 2m
Правильно настраивая вход
Убедитесь, что вход установлен через эту следующую команду. Контроллер входа по умолчанию нуждается в некотором редактировании, но чтобы убедиться, что он «вверх» следующая команда не зафиксирует ее.
kubectl get ingress ing
Если все выглядит хорошо, теперь вы можете двигаться, чтобы изменить вход через следующую специфичную к меню IBM Cloud. Используя облако IBM, вы получаете контроллер входа бесплатно. Запустите следующую команду, чтобы получить необходимую информацию, где K8S.ASGHARLABS.IO
это название вашего кластера:
$ ibmcloud ks cluster get --cluster k8s.asgharlabs.io Retrieving cluster k8s.asgharlabs.io... OK Name: k8s.asgharlabs.io ID: brfakb8d0dlm8ddhq91g State: normal Created: 2020-06-08T21:15:21+0000 Location: dal13 Master URL: https://c108.us-south.containers.cloud.ibm.com:31230 Public Service Endpoint URL: https://c108.us-south.containers.cloud.ibm.com:31230 Private Service Endpoint URL: - Master Location: Dallas Master Status: Ready (1 day ago) Master State: deployed Master Health: normal Ingress Subdomain: k8sasgharlabsio-706821-0e3eA_FAKE_HASH1e8aa6fe01f33bfc4-0000.us-south.containers.appdomain.cloud Ingress Secret: k8sasgharlabsio-706821-0e3eA_REALLY_REALLY_FAKE_SECRETf33bfc4-0000 Ingress Status: healthy Ingress Message: All Ingress components are healthy Workers: 3 Worker Zones: dal13 Version: 1.18.3_1514 Creator: jja@ibm.com Monitoring Dashboard: - Resource Group ID: 5eb57fd577b64b51beb832c2e9d5287a Resource Group Name: Default
Обратите внимание на ваш Вход поддоном
и вход в секрет` для следующего шага.
Обновление проникновения на работу
Идти вперед и возьми следующие Ямл
и изменить его для вашего поддомена и Changee Прук
на что-то еще, если вы хотите.
`Apiversion: Networking.k8s.io/v1beta1 Вид: входные метаданные: имен: Назначение по умолчанию: ING SPEC: TLS:
- Хосты:
- prow.k8sasgharlabsio-706821-0e3ea_fake_hash1e8aa6fe01f33bfc4-0000.us-south.containers.appdomain.Cloud Secretname: K8SASGHARLABSIO-706821-0E3EA_REALLY_REALLY_FAKE_SECRETF33BFC4-0000 Правила:
- Хозяин: PROW.K8SASGHARLABSIO-706821-0E3EA_FAKE_HASH1E8AAA6FE01F33BFC4-0000.US-SOUTH.containers.Appdomain.Cloud http: Paths:
- Путь:/Крюк Backend: ServiceName: Hook ServicePort: 8888
- Путь:/Backend: ServiceName: Сервис палубы: 80 `
Заключение
Перейдите на этот адрес в веб-браузере и убедитесь, что задание «Echo-Test» имеет зеленую флажок рядом с ней. На данный момент у вас есть кластер PROW, который готов начать получать события GitHub!
Оригинал: «https://dev.to/jjasghar/ibm-cloud-and-prow-setup-2p56»