title: 4、添加带Istio sidecar 的部署和服务 description: 在命名空间中启用 Istio 后仅对新的工作负载启用自动 Sidecar 注入。要为现有工作负载启用 Envoy Sidecar,您需要为每个工作负载手动启用它。要将 Istio sidecar 注入命名空间中的现有工作负载,请转到工作负载页面,单击省略号 (…),然后单击重新部署。重新部署工作负载时,Envoy sidecar 会自动注入。等待几分钟,以使工作负载升级到带有 Istio sidecar。单击该工作负载,然后转到容器部分。您应该能够在工作负载中看到 istio-init 和 istio-proxy 容器。这意味着已为工作负载启用了 Istio sidecar。Istio 正在为 Envoy sidecar 进行所有接线。现在,如果您通过 Yaml 中使用了 Istio 的功能,则 Istio 可以自动执行。 keywords:
- rancher
- rancher中文
- rancher中文文档
- rancher官网
- rancher文档
- Rancher
- rancher 中文
- rancher 中文文档
- rancher cn
- 集群管理员指南
- 集群访问控制
- 告警
- Istio
- Istio使用指南
- 添加带Istio sidecar 的部署和服务
概述
在命名空间中启用 Istio 后仅对新的工作负载启用自动 Sidecar 注入。要为现有工作负载启用 Envoy Sidecar,您需要为每个工作负载手动启用它。
要将 Istio sidecar 注入命名空间中的现有工作负载,请转到工作负载页面,单击省略号 (…),然后单击重新部署。重新部署工作负载时,Envoy sidecar 会自动注入。
等待几分钟,以使工作负载升级到带有 Istio sidecar。单击该工作负载,然后转到容器部分。您应该能够在工作负载中看到 istio-init 和 istio-proxy 容器。这意味着已为工作负载启用了 Istio sidecar。Istio 正在为 Envoy sidecar 进行所有接线。现在,如果您通过 Yaml 中使用了 Istio 的功能,则 Istio 可以自动执行。
先决条件: 要为工作负载启用 Istio,集群和命名空间必须启用 Istio。
添加部署和服务
接下来,我们再添加 Istio 文档中的 BookInfo 示例应用程序相关的 Kubernetes 资源。
- 进入要部署工作负载的项目中。
- 在工作负载页面,单击导入 YAML。
- 将以下资源复制到表单中。
- 单击导入。
这将从 Istio 的 BookInfo 示例应用中设置以下资源:
Details 部署和服务:
- 一个名为
details的 Service - 一个名为
bookinfo-details的 ServiceAccount - 一个名为
details-v1的 Deployment
Ratings 部署和服务:
- 一个名为
ratings的 Service - 一个名为
bookinfo-ratings的 ServiceAccount - 一个名为
ratings-v1的 Deployment
Reviews 部署和服务(三个版本):
- 一个名为
reviews的 Service - 一个名为
bookinfo-reviews的 ServiceAccount - 一个名为
reviews-v1的 Deployment - 一个名为
reviews-v2的 Deployment - 一个名为
reviews-v3的 Deployment
Productpage 部署和服务:
这是应用程序的主页,可从网页浏览器中看到。其他服务将从此页面调用。
- 一个名为
productpage的 Service - 一个名为
bookinfo-productpage的 ServiceAccount - 一个名为
productpage-v1的 Deployment
资源 YAML
# Copyright 2017 Istio Authors## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.################################################################################################### Details service##################################################################################################apiVersion: v1kind: Servicemetadata:name: detailslabels:app: detailsservice: detailsspec:ports:- port: 9080name: httpselector:app: details---apiVersion: v1kind: ServiceAccountmetadata:name: bookinfo-details---apiVersion: apps/v1kind: Deploymentmetadata:name: details-v1labels:app: detailsversion: v1spec:replicas: 1selector:matchLabels:app: detailsversion: v1template:metadata:labels:app: detailsversion: v1spec:serviceAccountName: bookinfo-detailscontainers:- name: detailsimage: docker.io/istio/examples-bookinfo-details-v1:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---################################################################################################### Ratings service##################################################################################################apiVersion: v1kind: Servicemetadata:name: ratingslabels:app: ratingsservice: ratingsspec:ports:- port: 9080name: httpselector:app: ratings---apiVersion: v1kind: ServiceAccountmetadata:name: bookinfo-ratings---apiVersion: apps/v1kind: Deploymentmetadata:name: ratings-v1labels:app: ratingsversion: v1spec:replicas: 1selector:matchLabels:app: ratingsversion: v1template:metadata:labels:app: ratingsversion: v1spec:serviceAccountName: bookinfo-ratingscontainers:- name: ratingsimage: docker.io/istio/examples-bookinfo-ratings-v1:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---################################################################################################### Reviews service##################################################################################################apiVersion: v1kind: Servicemetadata:name: reviewslabels:app: reviewsservice: reviewsspec:ports:- port: 9080name: httpselector:app: reviews---apiVersion: v1kind: ServiceAccountmetadata:name: bookinfo-reviews---apiVersion: apps/v1kind: Deploymentmetadata:name: reviews-v1labels:app: reviewsversion: v1spec:replicas: 1selector:matchLabels:app: reviewsversion: v1template:metadata:labels:app: reviewsversion: v1spec:serviceAccountName: bookinfo-reviewscontainers:- name: reviewsimage: docker.io/istio/examples-bookinfo-reviews-v1:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---apiVersion: apps/v1kind: Deploymentmetadata:name: reviews-v2labels:app: reviewsversion: v2spec:replicas: 1selector:matchLabels:app: reviewsversion: v2template:metadata:labels:app: reviewsversion: v2spec:serviceAccountName: bookinfo-reviewscontainers:- name: reviewsimage: docker.io/istio/examples-bookinfo-reviews-v2:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---apiVersion: apps/v1kind: Deploymentmetadata:name: reviews-v3labels:app: reviewsversion: v3spec:replicas: 1selector:matchLabels:app: reviewsversion: v3template:metadata:labels:app: reviewsversion: v3spec:serviceAccountName: bookinfo-reviewscontainers:- name: reviewsimage: docker.io/istio/examples-bookinfo-reviews-v3:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---################################################################################################### Productpage services##################################################################################################apiVersion: v1kind: Servicemetadata:name: productpagelabels:app: productpageservice: productpagespec:ports:- port: 9080name: httpselector:app: productpage---apiVersion: v1kind: ServiceAccountmetadata:name: bookinfo-productpage---apiVersion: apps/v1kind: Deploymentmetadata:name: productpage-v1labels:app: productpageversion: v1spec:replicas: 1selector:matchLabels:app: productpageversion: v1template:metadata:labels:app: productpageversion: v1spec:serviceAccountName: bookinfo-productpagecontainers:- name: productpageimage: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0imagePullPolicy: IfNotPresentports:- containerPort: 9080---
