<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Benjamin Sanvoisin</title>
    <description>The latest articles on DEV Community by Benjamin Sanvoisin (@laudenlaruto).</description>
    <link>https://dev.to/laudenlaruto</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F110769%2F078ff15e-94f3-4eee-a2da-87427c1e9444.png</url>
      <title>DEV Community: Benjamin Sanvoisin</title>
      <link>https://dev.to/laudenlaruto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/laudenlaruto"/>
    <language>en</language>
    <item>
      <title>Service mesh architecture with Istio</title>
      <dc:creator>Benjamin Sanvoisin</dc:creator>
      <pubDate>Fri, 17 Jan 2020 13:00:25 +0000</pubDate>
      <link>https://dev.to/laudenlaruto/service-mesh-architecture-with-istio-3f3m</link>
      <guid>https://dev.to/laudenlaruto/service-mesh-architecture-with-istio-3f3m</guid>
      <description>&lt;p&gt;Service mesh offers granular control over your infrastructure network, allowing for smoother deployments, extra security, and observability on all your traffic. These features are useful for fast development rate in agile environment and allow developers to focus on the feature of their application.&lt;/p&gt;

&lt;p&gt;Service mesh allows for teams to quickly understand an infrastructure due to standardization of policies. Allowing big infrastructure to easily manage turnover and lose of knowledge.  &lt;/p&gt;

&lt;p&gt;A couple of service mesh implementation exist like Isitio, Linkerd, Consul, and Kong. We will focus today on Istio which was introduced by Google and IBM in 2017 and is the most featureful service mesh.&lt;/p&gt;

&lt;p&gt;Istio is a service mesh that is made up of two planes: the data plane and the control plane. &lt;/p&gt;

&lt;p&gt;To find out more about these planes go checkout the rest of the article here : &lt;a href="https://www.padok.fr/en/blog/service-mesh-architecture-istio"&gt;https://www.padok.fr/en/blog/service-mesh-architecture-istio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>istio</category>
      <category>kubernetes</category>
      <category>microservices</category>
      <category>devops</category>
    </item>
    <item>
      <title>How to set up HTTPS with Istio and Kubernetes on GKE</title>
      <dc:creator>Benjamin Sanvoisin</dc:creator>
      <pubDate>Sat, 07 Dec 2019 10:01:53 +0000</pubDate>
      <link>https://dev.to/laudenlaruto/how-to-set-up-https-with-istio-and-kubernetes-on-gke-43d8</link>
      <guid>https://dev.to/laudenlaruto/how-to-set-up-https-with-istio-and-kubernetes-on-gke-43d8</guid>
      <description>&lt;p&gt;You would typically use annotations on Kubernetes ingress to set up HTTPS and static IP with GKE. Istio set up its own ingress load balancer which is of type ‘Service’ but GKE is not compatible with annotations of that type.&lt;br&gt;
If you are not familiar with Kubernetes you can check out this article : &lt;a href="https://www.padok.fr/en/blog/kubernetes-essentials-components-pods-services"&gt;https://www.padok.fr/en/blog/kubernetes-essentials-components-pods-services&lt;/a&gt; or if you want to live test this article setup your own Kubernetes cluster on GKE by following this article : &lt;a href="https://www.padok.fr/en/blog/kubernetes-google-cloud-terraform-cluster"&gt;https://www.padok.fr/en/blog/kubernetes-google-cloud-terraform-cluster&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cert-Manager with Kubernetes and GCP&lt;br&gt;
You can use cert-manager with Kubernetes to set up HTTPS, the process is fairly straightforward. We’ll go through setting it up.&lt;br&gt;
Setup Istio to work with cert-manager&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;istioctl manifest apply \
  --set values.gateways.istio-ingressgateway.sds.enabled=true \
  --set values.global.k8sIngress.enabled=true \
  --set values.global.k8sIngress.enableHttps=true \
  --set values.global.k8sIngress.gatewayName=ingressgateway
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Setup certificate, make sure to set all env variables&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cat &amp;lt;&amp;lt;EOF | kubectl apply -f -
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: ingress-cert
  namespace: istio-system
spec:
  secretName: ingress-cert
  issuerRef:
    name: letsencrypt-staging
    kind: ClusterIssuer
  commonName: $INGRESS_DOMAIN
  dnsNames:
  - $INGRESS_DOMAIN
  acme:
    config:
    - http01:
        ingressClass: istio
      domains:
      - $INGRESS_DOMAIN
---
EOF
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Done!&lt;/p&gt;

&lt;p&gt;If you require a production level certificate you can change the issuerRef name to &lt;code&gt;letsencrypt&lt;/code&gt; instead of &lt;code&gt;letsencrypt-staging&lt;/code&gt;&lt;br&gt;
For more details on this setup you can go see their official documentation: &lt;a href="https://istio.io/docs/tasks/traffic-management/ingress/ingress-certmgr/"&gt;https://istio.io/docs/tasks/traffic-management/ingress/ingress-certmgr/&lt;/a&gt;&lt;br&gt;
And cert-manager documentation: &lt;a href="https://docs.cert-manager.io/en/latest/"&gt;https://docs.cert-manager.io/en/latest/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The rest of the article is avaible here : &lt;a href="https://www.padok.fr/en/blog/https-istio-kubernetes"&gt;https://www.padok.fr/en/blog/https-istio-kubernetes&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>istio</category>
      <category>gcp</category>
    </item>
  </channel>
</rss>
