Coder Social home page Coder Social logo

otus_service_mesh's Introduction

Практика к занятию по теме "Service mesh на примере Istio"

Зависимости

Для выполнения задания вам потребуется установить зависимости:

После установки нужно запустить команду запуска в корне проекта:

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.