Upgrade to Pro — share decks privately, control downloads, hide ads and more …

REX mise en place d'Istio sur Kubernetes

REX mise en place d'Istio sur Kubernetes

Le déploiement d'une application sous forme de micro-services dans Docker ou Kubernetes est de nos jours une évidence. En revanche, du fait de l'abstraction apporté par Kubernetes, le métier d'administrateur système est profondément changé. En effet, des opérations auparavant triviales peuvent devenir parfois très compliqué :

- Espionnage du trafic réseau
- Mise en place de firewall
- Chiffrement des communications

Nous verrons en quoi Istio peut répondre à ces questions et les problèmes que j'ai rencontré à sa mise en place. Nous prendrons un peu de temps durant la conférence pour faire une démonstration de déploiement.

Nous verrons également toutes les fonctionnalités d'Istio et comment s'en servir dans votre contexte.

Avatar for Yannig

Yannig

June 04, 2019

Other Decks in Technology

Transcript

  1. #ContainerDayFR Mise en place des briques techniques Service A Service

    B Application Healthcheck Circuit breaker Prometheus Zipkin
  2. Quelques exemples de difficultés - Rabbit #ContainerDayFR ports: - name:

    epmd containerPort: 4369 protocol: TCP - name: amqp containerPort: 5672 protocol: TCP - name: stats containerPort: 15672 protocol: TCP - name: dist containerPort: 25672 protocol: TCP - name: stomp containerPort: 61613 protocol: TCP
  3. Attention ce n’est pas magique #ContainerDayFR diff --git a/pom.xml b/pom.xml

    index a8741e4..cde661a 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ <kotlin.version>1.3.11</kotlin.version> <mockk.version>1.8.10.kotlin13</mockk.version> <logstash-logback-encoder.version>5.2</logstash-logback-encoder.version> + <spring-cloud-starter-sleuth.version>2.0.2.RELEASE</spring-cloud-starter-sleuth.version> </properties> <dependencies> @@ -51,6 +52,11 @@ <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-sleuth</artifactId> + <version>${spring-cloud-starter-sleuth.version}</version> + </dependency> <dependency> <groupId>org.springframework.boot</groupId>
  4. Modification headers #ContainerDayFR apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: set-https

    spec: workloadLabels: app: keycloak filters: - listenerMatch: portNumber: 8080 listenerType: SIDECAR_INBOUND filterName: envoy.lua filterType: HTTP filterConfig: inlineCode: | function envoy_on_request(request_handle) request_handle:headers():replace("x-forwarded-proto", "https") end function envoy_on_response(response_handle) end
  5. Lancement de job - suppression injection sidecar #ContainerDayFR apiVersion: batch/v1beta1

    kind: CronJob metadata: name: export labels: app: export spec: schedule: "0 2 * * *" concurrencyPolicy: "Forbid" successfulJobsHistoryLimit: 1 jobTemplate: spec: template: metadata: annotations: sidecar.istio.io/inject: "false" labels: app: export spec: restartPolicy: OnFailure volumes: - name: backup persistentVolumeClaim: claimName: backup
  6. Quelques exemples de difficultés #ContainerDayFR Blocage accès externes sauvages tzurl.org

    geo.api.gouv.fr metadata cloud Services de récupération de Metadata sidecar.istio.io/inject: false
  7. Merci à nos sponsors Pour en être informé, suivez nous

    sur : @ContainerDayFR La vidéo de cette conférence sera prochainement sur paris-container-day.fr