Для выполнения задания вам потребуется установить зависимости:
После установки нужно запустить команду запуска в корне проекта:
vagrant up
Для совершения всех операций нам понадобится зайти в виртуальную машину:
vagrant ssh
Задание состоит из этапов
- Развернуть Istio с включенными метриками сервисов и Kiali
- Развернуть минимум два приложения с Service mesh и сделать к ним несколько запросов
- Отобразить карту сервисов в Kiali
Карта сервисов в Kiali выглядит таким образом:
- Сделать форк этого репозитория на Github
- Выполнить задание в отдельной ветке
- Создать Pull request с изменениями в этот репозиторий
Для выполнения задания вы можете воспользоваться материалами демо.
Спецификацию IstioOperator можно посмотреть в документации Istio или можно посмотреть исходники манифестов, исполняемых оператором.
Директория istio
в корне проекта расшарена в виртуальную машину, вы можете изменять файлы
в любимом редакторе и применять их в консоли виртуальной машины.
Если вы хотите изменить текущую конфигурацию Istio, достаточно снова выполнить соответствующую команду с указанием конфигурации:
istioctl manifest apply -f istio/istio-manifest.yaml
Для выключения шифрования между прокси, нужно применить настройку:
kubectl apply -f istio/defaults.yaml
Для доступа к какому-либо сервису с хоста можно использовать тип NodePort в сервисе:
---
apiVersion: v1
kind: Service
metadata:
name: test
namespace: default
spec:
type: NodePort
ports:
- port: 80
nodePort: 32080
targetPort: 8080
selector:
app: test
И сделать его проброс с помощью дополнительного флага при подключении к виртуальной машине по ssh. Проброс портов заканчивается при завершении этой ssh сессии:
vagrant ssh -- -L 32000:localhost:32080
Здесь 32080
- порт виртуальной машины, 32000
- порт хоста.
Сервис будет доступен по адресу localhost:32000
.