istio.io/archive/v1.1/help/ops/security/root-transition/index.html

115 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en itemscope itemtype=https://schema.org/WebPage><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=theme-color content=#466BB0><meta name=title content="Extending Self-Signed Certificate Lifetime"><meta name=description content="Learn how to extend the lifetime of the Istio self-signed root certificate."><meta name=keywords content=microservices,services,mesh,security,PKI,certificate,Citadel><meta property=og:title content="Extending Self-Signed Certificate Lifetime"><meta property=og:type content=website><meta property=og:description content="Learn how to extend the lifetime of the Istio self-signed root certificate."><meta property=og:url content=/v1.1/help/ops/security/root-transition/><meta property=og:image content=/v1.1/img/istio-whitelogo-bluebackground-framed.svg><meta property=og:image:alt content="Istio Logo"><meta property=og:image:width content=112><meta property=og:image:height content=150><meta property=og:site_name content=Istio><meta name=twitter:card content=summary><meta name=twitter:site content=@IstioMesh><title>Istioldie 1.1 / Extending Self-Signed Certificate Lifetime</title><script async src="https://www.googletagmanager.com/gtag/js?id=UA-98480406-2"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}
gtag('js',new Date());gtag('config','UA-98480406-2');</script><link rel=alternate type=application/rss+xml title="Istio Blog" href=/v1.1/feed.xml><link rel="shortcut icon" href=/v1.1/favicons/favicon.ico><link rel=apple-touch-icon href=/v1.1/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=icon type=image/png href=/v1.1/favicons/favicon-16x16.png sizes=16x16><link rel=icon type=image/png href=/v1.1/favicons/favicon-32x32.png sizes=32x32><link rel=icon type=image/png href=/v1.1/favicons/android-36x36.png sizes=36x36><link rel=icon type=image/png href=/v1.1/favicons/android-48x48.png sizes=48x48><link rel=icon type=image/png href=/v1.1/favicons/android-72x72.png sizes=72x72><link rel=icon type=image/png href=/v1.1/favicons/android-96x96.png sizes=96xW96><link rel=icon type=image/png href=/v1.1/favicons/android-144x144.png sizes=144x144><link rel=icon type=image/png href=/v1.1/favicons/android-192x192.png sizes=192x192><link rel=manifest href=/v1.1/manifest.json><meta name=apple-mobile-web-app-title content=Istio><meta name=application-name content=Istio><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Work+Sans:400|Chivo:400|Work+Sans:500,300,600,300italic,400italic,500italic,600italic|Chivo:500,300,600,300italic,400italic,500italic,600italic"><link rel=stylesheet href=/v1.1/css/all.css></head><body class="language-unknown archive-site"><script src=/v1.1/js/themes_init.min.js></script><script>const branchName="release-1.1";const docTitle="Extending Self-Signed Certificate Lifetime";const iconFile="\/v1.1/img/icons.svg";const buttonCopy='Copy to clipboard';const buttonPrint='Print';const buttonDownload='Download';</script><script src="https://www.google.com/cse/brand?form=search-form" defer></script><script src=/v1.1/js/all.min.js data-manual defer></script><header><nav><a id=brand href=/v1.1/><span class=logo><svg viewBox="0 0 300 300"><circle cx="150" cy="150" r="146" stroke-width="2" /><path d="M65 240H225L125 270z"/><path d="M65 230l60-10V110z"/><path d="M135 220l90 10L135 30z"/></svg></span><span class=name>Istioldie 1.1</span></a><div id=hamburger><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#hamburger"/></svg></div><div id=header-links><a title="Learn how to deploy, use, and operate Istio." href=/v1.1/docs/>Docs</a>
<a title="Posts about using Istio." href=/v1.1/blog/2019/announcing-1.1.9/>Blog</a>
<span title="A bunch of resources to help you deploy, configure and use Istio.">Help</span>
<a title="Get a bit more in-depth info about the Istio project." href=/v1.1/about/>About</a><div class=menu><button id=gearDropdownButton class=menu-trigger title="Options and settings" aria-label="Options and Settings" aria-controls=gearDropdownContent><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#gear"/></svg></button><div id=gearDropdownContent class=menu-content aria-labelledby=gearDropdownButton role=menu><a tabindex=-1 role=menuitem lang=en id=switch-lang-en class=active>English</a>
<a tabindex=-1 role=menuitem lang=zh id=switch-lang-zh>中文</a><div role=separator></div><a tabindex=-1 role=menuitem class=active id=light-theme-item>Light Theme</a>
<a tabindex=-1 role=menuitem id=dark-theme-item>Dark Theme</a><div role=separator></div><a tabindex=-1 role=menuitem id=syntax-coloring-item>Color Examples</a><div role=separator></div><h6>Other versions of this site</h6><a tabindex=-1 role=menuitem onclick="navigateToUrlOrRoot('https://istio.io/help\/ops\/security\/root-transition\/');return false;">Current Release</a>
<a tabindex=-1 role=menuitem onclick="navigateToUrlOrRoot('https://preliminary.istio.io/help\/ops\/security\/root-transition\/');return false;">Next Release</a>
<a tabindex=-1 role=menuitem href=https://archive.istio.io>Older Releases</a></div></div><button id=search-show title="Search this site" aria-label=Search><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#magnifier"/></svg></button></div><form id=search-form name=cse role=search><input type=hidden name=cx value=013699703217164175118:iwwf17ikgf4>
<input type=hidden name=ie value=utf-8>
<input type=hidden name=hl value=en>
<input type=hidden id=search-page-url value=/v1.1/search.html>
<input id=search-textbox class=form-control name=q type=search aria-label="Search this site">
<button id=search-close title="Cancel search" type=reset aria-label="Cancel search"><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#cancel-x"/></svg></button></form></nav></header><main class=primary><div id=sidebar-container class="sidebar-container sidebar-offcanvas"><nav id=sidebar aria-label="Section Navigation"><div class=directory><div class=card><div id=header0 class=header title="A bunch of resources to help you deploy, configure and use Istio."><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#help"/></svg>Need Help?</div><div class="body default" aria-labelledby=header0><ul role=tree aria-expanded=true aria-labelledby=header0><li role=treeitem aria-label="Operations Guide"><button class=show aria-hidden=true></button><a title="Hints, tips, tricks about running an Istio mesh." href=/v1.1/help/ops/>Operations Guide</a><ul role=group aria-expanded=true><li role=none><a role=treeitem title="Describes how to use component-level logging to get insights into a running component's behavior." href=/v1.1/help/ops/component-logging/>Component Logging</a></li><li role=none><a role=treeitem title="Describes how to use ControlZ to get insight into individual running components." href=/v1.1/help/ops/controlz/>Component Introspection</a></li><li role=none><a role=treeitem title="How to do low-level debugging of Istio components." href=/v1.1/help/ops/component-debugging/>Component Debugging</a></li><li role=treeitem aria-label="Traffic Management"><button aria-hidden=true></button><a title="Helps you manage the networking aspects of a running mesh." href=/v1.1/help/ops/traffic-management/>Traffic Management</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="An introduction to Istio networking operational aspects." href=/v1.1/help/ops/traffic-management/introduction/>Introduction to Network Operations</a></li><li role=none><a role=treeitem title="Provides specific deployment and configuration guidelines." href=/v1.1/help/ops/traffic-management/deploy-guidelines/>Deployment and Configuration Guidelines</a></li><li role=none><a role=treeitem title="Describes common networking issues and how to recognize and avoid them." href=/v1.1/help/ops/traffic-management/troubleshooting/>Troubleshooting Networking Issues</a></li><li role=none><a role=treeitem title="Describes tools and techniques to diagnose Envoy configuration issues related to traffic management." href=/v1.1/help/ops/traffic-management/proxy-cmd/>Debugging Envoy and Pilot</a></li><li role=none><a role=treeitem title="Information on how to enable and understand Locality Load Balancing." href=/v1.1/help/ops/traffic-management/locality-load-balancing/>Locality Load Balancing</a></li></ul></li><li role=treeitem aria-label=Security><button class=show aria-hidden=true></button><a title="Helps you manage the security aspects of a running mesh." href=/v1.1/help/ops/security/>Security</a><ul role=group aria-expanded=true class=leaf-section><li role=none><a role=treeitem title="Demonstrates how to debug authorization." href=/v1.1/help/ops/security/debugging-authorization/>Debugging Authorization</a></li><li role=none><a role=treeitem title="What to do if Citadel is not behaving properly." href=/v1.1/help/ops/security/repairing-citadel/>Repairing Citadel</a></li><li role=none><a role=treeitem title="What to do if you suspect problems with Istio keys and certificates." href=/v1.1/help/ops/security/keys-and-certs/>Keys and Certificates</a></li><li role=none><a role=treeitem title="What to do if mutual TLS authentication isn't working." href=/v1.1/help/ops/security/mutual-tls/>Mutual TLS</a></li><li role=none><a role=treeitem title="Authorization is enabled, but requests make it through anyway." href=/v1.1/help/ops/security/authorization-permissive/>Authorization Too Permissive</a></li><li role=none><a role=treeitem title="Authorization is enabled and no requests make it through to the service." href=/v1.1/help/ops/security/authorization-restrictive/>Authorization Too Restrictive</a></li><li role=none><a role=treeitem title="What to do if end-user authentication doesn't work." href=/v1.1/help/ops/security/end-user-auth/>End User Authentication</a></li><li role=none><span role=treeitem class=current title="Learn how to extend the lifetime of the Istio self-signed root certificate.">Extending Self-Signed Certificate Lifetime</span></li></ul></li><li role=treeitem aria-label=Telemetry><button aria-hidden=true></button><a title="Helps you manage telemetry collection and visualization in a running mesh." href=/v1.1/help/ops/telemetry/>Telemetry</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Diagnose problems where metrics are not being collected." href=/v1.1/help/ops/telemetry/missing-metrics/>Missing Metrics</a></li><li role=none><a role=treeitem title="Dealing with Grafana issues." href=/v1.1/help/ops/telemetry/grafana/>Grafana</a></li><li role=none><a role=treeitem title="Fine-grained control of Envoy statistics." href=/v1.1/help/ops/telemetry/envoy-stats/>Envoy Statistics</a></li></ul></li><li role=treeitem aria-label="Installation and Setup"><button aria-hidden=true></button><a title="Helps you diagnose and repair Istio installations." href=/v1.1/help/ops/setup/>Installation and Setup</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Provides a general overview of Istio's use of Kubernetes webhooks and the related issues that can arise." href=/v1.1/help/ops/setup/webhook/>Dynamic Admission Webhooks Overview</a></li><li role=none><a role=treeitem title="Describes Istio's use of Kubernetes webhooks for server-side configuration validation." href=/v1.1/help/ops/setup/validation/>Configuration Validation Webhook</a></li><li role=none><a role=treeitem title="Describes Istio's use of Kubernetes webhooks for automatic sidecar injection." href=/v1.1/help/ops/setup/injection/>Sidecar Injection Webhook</a></li><li role=none><a role=treeitem title="Describes how to check which capabilities are allowed for your pods." href=/v1.1/help/ops/setup/required-pod-capabilities/>Required Pod Capabilities</a></li><li role=none><a role=treeitem title="Shows how to do health checking for Istio services." href=/v1.1/help/ops/setup/app-health-check/>Health Checking of Istio Services</a></li></ul></li><li role=none><a role=treeitem title="Advice on tackling common problems with Istio." href=/v1.1/help/ops/misc/>Miscellaneous</a></li></ul></li><li role=treeitem aria-label=FAQ><button aria-hidden=true></button><a title="Frequently Asked Questions about Istio." href=/v1.1/help/faq/>FAQ</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="General Q &amp; A." href=/v1.1/help/faq/general/>General</a></li><li role=none><a role=treeitem title="Setup Q &amp; A." href=/v1.1/help/faq/setup/>Setup</a></li><li role=none><a role=treeitem title="Security Q &amp; A." href=/v1.1/help/faq/security/>Security</a></li><li role=none><a role=treeitem title="Mixer Q &amp; A." href=/v1.1/help/faq/mixer/>Mixer</a></li><li role=none><a role=treeitem title="Metrics and Logs Q &amp; A." href=/v1.1/help/faq/metrics-and-logs/>Metrics and Logs</a></li><li role=none><a role=treeitem title="Distributed Tracing Q &amp; A." href=/v1.1/help/faq/distributed-tracing/>Distributed Tracing</a></li><li role=none><a role=treeitem title="Traffic Management Q &amp; A." href=/v1.1/help/faq/traffic-management/>Traffic Management</a></li></ul></li><li role=none><a role=treeitem title="A glossary of common Istio terms." href=/v1.1/help/glossary/>Glossary</a></li></ul></div></div></div></nav></div><div class=article-container><button tabindex=-1 id=sidebar-toggler title="Toggle the navigation bar"><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#pull"/></svg></button><nav aria-label=Breadcrumb><ol><li><a href=/v1.1/ title="Connect, secure, control, and observe services.">Istio</a></li><li><a href=/v1.1/help/ title="A bunch of resources to help you deploy, configure and use Istio.">Help</a></li><li><a href=/v1.1/help/ops/ title="Hints, tips, tricks about running an Istio mesh.">Operations Guide</a></li><li><a href=/v1.1/help/ops/security/ title="Helps you manage the security aspects of a running mesh.">Security</a></li><li>Extending Self-Signed Certificate Lifetime</li></ol></nav><article aria-labelledby=title><div class=title-area><div><h1 id=title>Extending Self-Signed Certificate Lifetime</h1><p class=byline><span title="1013 words"><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#clock"/></svg><span>&nbsp;</span>5 minute read</span></p></div></div><nav class=toc-inlined aria-label="Table of Contents"><div><hr><ol><li role=none aria-label=Scenarios><a href=#scenarios>Scenarios</a><li role=none aria-label="Root transition procedure"><a href=#root-transition-procedure>Root transition procedure</a><li role=none aria-label=Troubleshooting><a href=#troubleshooting>Troubleshooting</a><ol><li role=none aria-label="Can I upgrade to 1.0.8, 1.1.8 or later first, and then do the root transition?"><a href=#can-i-upgrade-to-1-0-8-1-1-8-or-later-first-and-then-do-the-root-transition>Can I upgrade to 1.0.8, 1.1.8 or later first, and then do the root transition?</a><li role=none aria-label="Why my workloads do not pick up the new certificates (in Step 5)?"><a href=#why-my-workloads-do-not-pick-up-the-new-certificates-in-step-5>Why my workloads do not pick up the new certificates (in Step 5)?</a><li role=none aria-label="Why my Pilot does not work and logs &ldquo;handshake error&rdquo;?"><a href=#why-my-pilot-does-not-work-and-logs-handshake-error>Why my Pilot does not work and logs &ldquo;handshake error&rdquo;?</a><li role=none aria-label="How to check if Pilot has an Envoy sidecar"><a href=#how-to-check-if-pilot-has-an-envoy-sidecar>How to check if Pilot has an Envoy sidecar</a><li role=none aria-label="I can&rsquo;t deploy new workloads with the sidecar-injector"><a href=#i-can-t-deploy-new-workloads-with-the-sidecar-injector>I can&rsquo;t deploy new workloads with the sidecar-injector</a></ol></li><li role=none aria-label="See also"><a href=#see-also>See also</a></li></ol><hr></div></nav><p>Istio self-signed certificates have historically had a 1 year default lifetime.
If you are using Istio self-signed certificates,
you need to schedule regular root transitions before they expire.
An expiration of a root certificate may lead to an unexpected cluster-wide outage.</p><div><aside class="callout tip"><div class=type><svg class="large-icon"><use xlink:href="/v1.1/img/icons.svg#callout-tip"/></svg></div><div class=content>We strongly recommend you rotate root keys and root certificates annually as a security best practice.
We will send out instructions for root key/cert rotation as a follow-up.</div></aside></div><p>To evaluate the lifetime remaining for your root certificate, please refer to the first step in the
<a href=#root-transition-procedure>procedure below</a>.</p><p>We provide the following procedure for you to do the root transition.
Note that the Envoy instances will be hot restarted to reload the new root certificates, which may impact long-lived connections.
For details about the impacts and how Envoy hot restart works, please refer to
<a href=https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/hot_restart>here</a> and
<a href=https://blog.envoyproxy.io/envoy-hot-restart-1d16b14555b5>here</a>.</p><h2 id=scenarios>Scenarios</h2><p>If you are not currently using the mutual TLS feature in Istio and will not use it in the future,
you are not affected and no action is required.
You may choose to upgrade to 1.0.8, 1.1.8 or later versions to avoid this problem in the future.</p><p>If you are not currently using the mutual TLS feature in Istio and may use it in the future,
you are recommended to follow the procedure listed below to upgrade.</p><p>If you are currently using the mutual TLS feature in Istio with self-signed certificates,
please follow the procedure and check whether you will be affected.</p><h2 id=root-transition-procedure>Root transition procedure</h2><ol><li><p>Check when the root certificate expires:</p><p>Download this <a href=https://raw.githubusercontent.com/istio/tools/master/bin/root-transition.sh>script</a>
on a machine that has <code>kubectl</code> access to the cluster.</p><pre><code class=language-bash data-expandlinks=true>$ wget https://raw.githubusercontent.com/istio/tools/master/bin/root-transition.sh
$ chmod +x root-transition.sh
$ ./root-transition.sh check
...
===YOU HAVE 30 DAYS BEFORE THE ROOT CERT EXPIRES!=====
</code></pre><p>Execute the remainder of the steps prior to root certificate expiration to avoid system outages.</p></li><li><p>Execute a root certificate transition:</p><p>During the transition, the Envoy sidecars may be hot-restarted to reload the new certificates.
This may have some impact on your traffic. Please refer to
<a href=https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/operations/hot_restart>Envoy hot restart</a>
and read <a href=https://blog.envoyproxy.io/envoy-hot-restart-1d16b14555b5>this</a>
blog post for more details.</p><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.1/img/icons.svg#callout-warning"/></svg></div><div class=content>If your Pilot does not have an Envoy sidecar, consider installing Envoy sidecar for your Pilot.
Because the Pilot has issue using the old root certificate to verify the new workload certificates.
This may cause disconnection between Pilot and Envoy.
Please see the <a href=#how-to-check-if-pilot-has-an-envoy-sidecar>here</a> for how to check.
The <a href=/v1.1/docs/setup/kubernetes/upgrade/steps/>Istio upgrade guide</a>
by default installs Pilot with Envoy sidecar.</div></aside></div><pre><code class=language-bash data-expandlinks=true>$ ./root-transition.sh transition
Create new ca cert, with trust domain as cluster.local
Wed Jun 5 19:11:15 PDT 2019 delete old ca secret
secret &#34;istio-ca-secret&#34; deleted
Wed Jun 5 19:11:15 PDT 2019 create new ca secret
secret/istio-ca-secret created
pod &#34;istio-citadel-8574b88bcd-j7v2d&#34; deleted
Wed Jun 5 19:11:18 PDT 2019 restarted Citadel, checking status
NAME READY STATUS RESTARTS AGE
istio-citadel-8574b88bcd-l2g74 1/1 Running 0 3s
New root certificate:
Certificate:
Data:
...
Validity
Not Before: Jun 6 03:24:43 2019 GMT
Not After : Jun 3 03:24:43 2029 GMT
Subject: O = cluster.local
...
Your old certificate is stored as old-ca-cert.pem, and your private key is stored as ca-key.pem
Please save them safely and privately.
</code></pre></li><li><p>Verify the new workload certificates are generated:</p><pre><code class=language-bash data-expandlinks=true>$ ./root-transition.sh verify
...
Checking the current root CA certificate is propagated to all the Istio-managed workload secrets in the cluster.
Root cert MD5 is 8fa8229ab89122edba73706e49a55e4c
Checking namespace: default
Secret default.istio.default is updated.
Secret default.istio.sleep is updated.
Checking namespace: istio-system
Secret istio-system.istio.default is updated.
...
------All Istio keys and certificates are updated in secret!
</code></pre><p>If this command fails, wait a minute and run the command again.
It takes some time for Citadel to propagate the certificates.</p></li><li><p>Upgrade to Istio 1.0.8, 1.1.8 or later:</p><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.1/img/icons.svg#callout-warning"/></svg></div><div class=content>To ensure the control plane components and Envoy sidecars all load the new certificates and keys, this step is mandatory.</div></aside></div><p>Upgrade your control plane and <code>istio-proxy</code> sidecars to 1.0.8, 1.1.8 or later.
Please follow the Istio <a href=/v1.1/docs/setup/kubernetes/upgrade/steps/>upgrade procedure</a>.</p></li><li><p>Verify the new workload certificates are loaded by Envoy:</p><p>You can verify whether an Envoy has received the new certificates.
The following command shows an example to check the Envoys certificate for pod <em>foo</em> running in namespace <em>bar</em>.</p><pre><code class=language-bash data-expandlinks=true>$ kubectl exec -it foo -c istio-proxy -n bar -- curl http://localhost:15000/certs | head -c 1000
{
&#34;certificates&#34;: [
{
&#34;ca_cert&#34;: [
...
&#34;valid_from&#34;: &#34;2019-06-06T03:24:43Z&#34;,
&#34;expiration_time&#34;: ...
],
&#34;cert_chain&#34;: [
{
...
}
</code></pre><p>Please inspect the <code>valid\_from</code> value of the <code>ca\_cert</code>.
If it matches the <code>_Not_ _Before_</code> value in the new certificate as shown in Step 2,
your Envoy has loaded the new root certificate.</p></li></ol><h2 id=troubleshooting>Troubleshooting</h2><h3 id=can-i-upgrade-to-1-0-8-1-1-8-or-later-first-and-then-do-the-root-transition>Can I upgrade to 1.0.8, 1.1.8 or later first, and then do the root transition?</h3><p>Yes, you can. You can upgrade to 1.0.8, 1.1.8 or later as normal.
After that, follow the root transition steps and in Step 4,
manually restart Galley, Pilot and sidecar-injector to ensure they load the new root certificates.</p><h3 id=why-my-workloads-do-not-pick-up-the-new-certificates-in-step-5>Why my workloads do not pick up the new certificates (in Step 5)?</h3><p>Please make sure you have updated to 1.0.8, 1.1.8 or later for the <code>istio-proxy</code> sidecars in Step 4.</p><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.1/img/icons.svg#callout-warning"/></svg></div><div class=content>If you are using Istio releases 1.1.3 - 1.1.7, the Envoy may not be hot-restarted
after the new certificates are generated.</div></aside></div><h3 id=why-my-pilot-does-not-work-and-logs-handshake-error>Why my Pilot does not work and logs &ldquo;handshake error&rdquo;?</h3><p>This may because the Pilot is
<a href=#how-to-check-if-pilot-has-an-envoy-sidecar>not using an Envoy sidecar</a>,
while the <code>controlPlaneSecurity</code> is enabled.
In this case, restart both Galley and Pilot to ensure they load the new certificates.
As an example, the following commands redeploy a pod for Galley / Pilot by removing a pod.</p><pre><code class=language-bash data-expandlinks=true>$ kubectl delete po &lt;galley-pod&gt; -n istio-system
$ kubectl delete po &lt;pilot-pod&gt; -n istio-system
</code></pre><h3 id=how-to-check-if-pilot-has-an-envoy-sidecar>How to check if Pilot has an Envoy sidecar</h3><p>If the following command shows <code>1/1</code>, that means your Pilot does not have an Envoy sidecar,
otherwise, if it is showing <code>2/2</code>, your Pilot is using an Envoy sidecar.</p><pre><code class=language-bash data-expandlinks=true>$ kubectl get po -l istio=pilot -n istio-system
istio-pilot-569bc6d9c-tfwjr 1/1 Running 0 11m
</code></pre><h3 id=i-can-t-deploy-new-workloads-with-the-sidecar-injector>I can&rsquo;t deploy new workloads with the sidecar-injector</h3><p>This may happen if you did not upgrade to 1.0.8, 1.1.8 or later.
Try to restart the sidecar injector.
The sidecar injector will reload the certificate after the restart:</p><pre><code class=language-bash data-expandlinks=true>$ kubectl delete po -l istio=sidecar-injector -n istio-system
pod &#34;istio-sidecar-injector-788bd8fc48-x9gdc&#34; deleted
</code></pre><nav id=see-also><h2>See also</h2><div class=see-also><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/blog/2019/root-transition/>Extending Istio Self-Signed Root Certificate Lifetime</a></p><p class=desc>Learn how to extend the lifetime of Istio self-signed root certificate.</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/docs/tasks/security/vault-ca/>Istio Vault CA Integration</a></p><p class=desc>This task shows you how to integrate a Vault Certificate Authority with Istio for mutual TLS.</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/blog/2018/istio-authorization/>Micro-Segmentation with Istio Authorization</a></p><p class=desc>Describe Istio&#39;s authorization feature and how to use it in various use cases.</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/docs/tasks/security/authn-policy/>Authentication Policy</a></p><p class=desc>Shows you how to use Istio authentication policy to setup mutual TLS and basic end-user authentication.</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/docs/tasks/security/authz-http/>Authorization for HTTP Services</a></p><p class=desc>Shows how to set up role-based access control for HTTP services.</p></div><div class=entry><p class=link><a data-skipendnotes=true href=/v1.1/docs/tasks/security/authz-tcp/>Authorization for TCP Services</a></p><p class=desc>Shows how to set up role-based access control for TCP services.</p></div></div></nav></article><nav class=pagenav><div class=left><a title="What to do if end-user authentication doesn't work." href=/v1.1/help/ops/security/end-user-auth/><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#left-arrow"/></svg>End User Authentication</a></div><div class=right></div></nav><div id=endnotes-container aria-hidden=true><h2>Links</h2><ol id=endnotes></ol></div></div><div class=toc-container><nav class=toc aria-label="Table of Contents"><div id=toc><ol><li role=none aria-label=Scenarios><a href=#scenarios>Scenarios</a><li role=none aria-label="Root transition procedure"><a href=#root-transition-procedure>Root transition procedure</a><li role=none aria-label=Troubleshooting><a href=#troubleshooting>Troubleshooting</a><ol><li role=none aria-label="Can I upgrade to 1.0.8, 1.1.8 or later first, and then do the root transition?"><a href=#can-i-upgrade-to-1-0-8-1-1-8-or-later-first-and-then-do-the-root-transition>Can I upgrade to 1.0.8, 1.1.8 or later first, and then do the root transition?</a><li role=none aria-label="Why my workloads do not pick up the new certificates (in Step 5)?"><a href=#why-my-workloads-do-not-pick-up-the-new-certificates-in-step-5>Why my workloads do not pick up the new certificates (in Step 5)?</a><li role=none aria-label="Why my Pilot does not work and logs &ldquo;handshake error&rdquo;?"><a href=#why-my-pilot-does-not-work-and-logs-handshake-error>Why my Pilot does not work and logs &ldquo;handshake error&rdquo;?</a><li role=none aria-label="How to check if Pilot has an Envoy sidecar"><a href=#how-to-check-if-pilot-has-an-envoy-sidecar>How to check if Pilot has an Envoy sidecar</a><li role=none aria-label="I can&rsquo;t deploy new workloads with the sidecar-injector"><a href=#i-can-t-deploy-new-workloads-with-the-sidecar-injector>I can&rsquo;t deploy new workloads with the sidecar-injector</a></ol></li><li role=none aria-label="See also"><a href=#see-also>See also</a></li></ol></div></nav></div></main><footer><div class=user-links><a class=channel title="Go download Istio 1.1.9 now" href=https://github.com/istio/istio/releases/tag/1.1.9 aria-label="Download Istio"><span>download</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#download"/></svg>
</a><a class=channel title="Join the Istio discussion board to participate in discussions and get help troubleshooting problems" href=https://discuss.istio.io aria-label="Istio discussion board"><span>discuss</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#discourse"/></svg></a>
<a class=channel title="Stack Overflow is where you can ask questions and find curated answers on deploying, configuring, and using Istio" href=https://stackoverflow.com/questions/tagged/istio aria-label="Stack Overflow"><span>stack overflow</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#stackoverflow"/></svg></a>
<a class=channel title="Follow us on Twitter to get the latest news" href=https://twitter.com/IstioMesh aria-label=Twitter><span>twitter</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#twitter"/></svg></a><div class=tag>for everyone</div></div><div class=info><p class=copyright>Istio Archive
1.1.9<br>&copy; 2019 Istio Authors, <a href=https://policies.google.com/privacy>Privacy Policy</a><br>Archived on June 18, 2019</p></div><div class=dev-links><a class=channel title="GitHub is where development takes place on Istio code" href=https://github.com/istio/community aria-label=GitHub><span>github</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#github"/></svg></a>
<a class=channel title="Interactively discuss issues with the Istio community on Slack" href=https://istio.slack.com aria-label=slack><span>slack</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#slack"/></svg></a>
<a class=channel title="Access our team drive if you'd like to take a look at the Istio technical design documents" href=https://groups.google.com/forum/#!forum/istio-team-drive-access aria-label="team drive"><span>drive</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#drive"/></svg></a>
<a class=channel title="If you'd like to contribute to the Istio project, consider participating in our working groups" href=https://github.com/istio/community/blob/master/WORKING-GROUPS.md aria-label="working groups"><span>working groups</span><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#working-groups"/></svg></a><div class=tag>for developers</div></div></footer><div id=scroll-to-top-container aria-hidden=true><button id=scroll-to-top title="Back to top"><svg class="icon"><use xlink:href="/v1.1/img/icons.svg#top"/></svg></button></div></body></html>