istio

19 commands

19 shown

Установить Istio (demo профиль) Установить Istio с демо-профилем конфигурации istioctl install --set profile=demo -y #istio#service-mesh#install Включить инжект сайдкара Включить автоматический инжект сайдкара Envoy для неймспейса kubectl label namespace default istio-injection=enabled #istio#service-mesh#sidecar Проверить статус прокси Получить статус синхронизации всех Envoy-прокси в меше istioctl proxy-status #istio#service-mesh#proxy Анализировать конфигурацию Анализировать конфигурацию Istio на потенциальные проблемы istioctl analyze #istio#service-mesh#analyze#debug Просмотр конфигурации Envoy Показать полную конфигурацию Envoy-прокси для деплоя istioctl proxy-config all deploy/myapp #istio#service-mesh#envoy#debug Маршрутизация трафика — VirtualService Применить VirtualService для определения правил маршрутизации kubectl apply -f virtualservice.yaml #istio#service-mesh#virtualservice#routing Правила назначения — DestinationRule Применить DestinationRule для балансировки нагрузки и circuit breaker kubectl apply -f destinationrule.yaml #istio#service-mesh#destinationrule Включить mTLS (строгий) Включить строгий mutual TLS для всех воркloadов в неймспейсе kubectl apply -f - <<EOF apiVersion: security.istio.io/v1beta1 kind: PeerAuthentication metadata: name: default namespace: default spec: mtls: mode: STRICT EOF #istio#service-mesh#mtls#security Инжект сайдкара вручную Вручную инжектировать сайдкар Istio в манифест деплоя istioctl kube-inject -f deployment.yaml | kubectl apply -f - #istio#service-mesh#sidecar#inject Дашборд (Kiali) Открыть дашборд Kiali для сервисного меша в браузере istioctl dashboard kiali #istio#service-mesh#kiali#dashboard Дашборд (Jaeger) Открыть дашборд Jaeger для распределённой трассировки istioctl dashboard jaeger #istio#service-mesh#jaeger#tracing Просмотр логов доступа Просмотреть логи доступа Envoy из контейнера сайдкара kubectl logs -l app=myapp -c istio-proxy | head -50 #istio#service-mesh#logs#envoy Инжект ошибок — задержка Добавить искусственную задержку для тестирования отказоустойчивости # In VirtualService spec.http[].fault.delay #istio#service-mesh#fault-injection#testing Зеркалирование трафика Зеркалировать трафик на теневой сервис для тестирования # In VirtualService spec.http[].mirror #istio#service-mesh#mirroring#canary Удалить Istio Полностью удалить Istio из кластера istioctl uninstall --purge -y #istio#service-mesh#uninstall Маршрутизация трафика — VirtualService Роутинг 80% трафика на v1, 20% на v2 (канарейка) kubectl apply -f - <<EOF apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: myapp spec: hosts: - myapp http: - route: - destination: host: myapp subset: v1 weight: 80 - destination: host: myapp subset: v2 weight: 20 EOF #istio#service-mesh#virtualservice#routing Правила назначения — DestinationRule Определить сабсеты и circuit breaker (outlier detection) kubectl apply -f - <<EOF apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: myapp spec: host: myapp trafficPolicy: outlierDetection: consecutive5xxErrors: 5 interval: 10s baseEjectionTime: 30s subsets: - name: v1 labels: version: v1 - name: v2 labels: version: v2 EOF #istio#service-mesh#destinationrule Инжект ошибок — задержка Добавить задержку 5s для 100% запросов для тестирования kubectl apply -f - <<EOF apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: myapp spec: hosts: - myapp http: - fault: delay: percentage: value: 100 fixedDelay: 5s route: - destination: host: myapp EOF #istio#service-mesh#fault-injection#testing Зеркалирование трафика Зеркалировать 100% трафика на теневой сервис v2 kubectl apply -f - <<EOF apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: myapp spec: hosts: - myapp http: - route: - destination: host: myapp subset: v1 weight: 100 mirror: host: myapp subset: v2 mirrorPercentage: value: 100 EOF #istio#service-mesh#mirroring#canary
no commands match