|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Adicione Implantações e Serviços com o Sidecar Istio
|
Rancher-Istio foi descontinuado desde o Rancher v2.12.0; recorra à SUSE Application Collection versão do Istio para segurança aprimorada (incluída nas assinaturas do SUSE Rancher Prime). Informações detalhadas podem ser encontradas em este anúncio. |
|
Pré-requisitos:
Para habilitar o Istio para uma carga de trabalho, o cluster e o namespace devem ter o aplicativo Istio instalado. |
Habilitar o Istio em um namespace apenas ativa a injeção automática do sidecar para novas cargas de trabalho. Para habilitar o sidecar Envoy para cargas de trabalho existentes, você precisa habilitá-lo manualmente para cada carga de trabalho.
Para injetar o sidecar Istio em uma carga de trabalho existente no namespace,
-
No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.
-
Na página Clusters, vá para o cluster onde você deseja ver as visualizações e clique em Explorar.
-
Clique em Carga de Trabalho.
-
Vá para a carga de trabalho onde você deseja injetar o sidecar Istio e clique em ⋮ > Reimplantar. Quando a carga de trabalho for reimplantada, ela terá o sidecar Envoy injetado automaticamente.
Aguarde alguns minutos para que a carga de trabalho seja atualizada e tenha o sidecar Istio. Clique nele e vá para a seção de Contêineres. Você deve conseguir ver istio-proxy ao lado da sua carga de trabalho original. Isso significa que o sidecar Istio está habilitado para a carga de trabalho. O Istio está fazendo toda a conexão para o sidecar Envoy. Agora o Istio pode realizar todas as funcionalidades automaticamente se você as habilitar no yaml.
Adicione Implantações e Serviços
Existem algumas maneiras de adicionar novas Implantações no seu namespace:
-
Clique em ☰ > Gerenciamento de Cluster.
-
Vá para o cluster que você criou e clique em Explorar.
-
Clique em Carga de Trabalho.
-
Clique em Criar.
-
Clique em Implantação.
-
Preencha o formulário ou Edite como Yaml.
-
Clique em Criar.
Para adicionar um Serviço ao seu namespace:
-
Clique em ☰ > Gerenciamento de Cluster.
-
Vá para o cluster que você criou e clique em Explorar.
-
Clique em menu:Descoberta de Serviços[Serviços].
-
Clique em Criar.
-
Selecione o tipo de serviço que você deseja.
-
Preencha o formulário ou Edite como Yaml.
-
Clique em Criar
Você também pode criar implantações e serviços usando o kubectl shell
-
Execute
kubectl create -f <name of service/deployment file>.yamlse seu arquivo estiver armazenado localmente no cluster -
Ou execute `cat<< EOF | kubectl apply -f -`, cole o conteúdo do arquivo no terminal e, em seguida, execute
EOFpara completar o comando.
Exemplos de Implantações e Serviços
Em seguida, adicionamos os recursos do Kubernetes para as implantações e serviços de exemplo para o aplicativo BookInfo na documentação do Istio.
-
Clique em ☰ > Gerenciamento de Cluster.
-
Vá para o cluster que você criou e clique em Explorar.
-
Na barra de navegação superior, abra o shell do kubectl.
-
Execute
cat<< EOF | kubectl apply -f - -
Copie os recursos abaixo para o shell.
-
Execute
EOF
Isso configurará os seguintes recursos de exemplo do aplicativo BookInfo do Istio:
Serviço e implantação de detalhes:
-
Um
detailsServiço -
Uma ServiceAccount para
bookinfo-details -
Uma
details-v1Implantação
Serviço e implantação de avaliações:
-
Um
ratingsServiço -
Uma ServiceAccount para
bookinfo-ratings -
Uma
ratings-v1Implantação
Serviço e implantações de revisões (três versões):
-
Um
reviewsServiço -
Uma ServiceAccount para
bookinfo-reviews -
Uma
reviews-v1Implantação -
Uma
reviews-v2Implantação -
Uma
reviews-v3Implantação
Serviço e implantação da página do produto:
Esta é a página principal do aplicativo, que será visível a partir de um navegador da web. Os outros serviços serão chamados a partir desta página.
-
Um
productpageServiço -
Uma ServiceAccount para
bookinfo-productpage -
Uma
productpage-v1Implantação
YAML de Recursos
# 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: v1
kind: Service
metadata:
name: details
labels:
app: details
service: details
spec:
ports:
- port: 9080
name: http
selector:
app: details
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-details
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: details-v1
labels:
app: details
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: details
version: v1
template:
metadata:
labels:
app: details
version: v1
spec:
serviceAccountName: bookinfo-details
containers:
- name: details
image: docker.io/istio/examples-bookinfo-details-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Ratings service
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: ratings
labels:
app: ratings
service: ratings
spec:
ports:
- port: 9080
name: http
selector:
app: ratings
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-ratings
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ratings-v1
labels:
app: ratings
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: ratings
version: v1
template:
metadata:
labels:
app: ratings
version: v1
spec:
serviceAccountName: bookinfo-ratings
containers:
- name: ratings
image: docker.io/istio/examples-bookinfo-ratings-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Reviews service
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: reviews
labels:
app: reviews
service: reviews
spec:
ports:
- port: 9080
name: http
selector:
app: reviews
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-reviews
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v1
labels:
app: reviews
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v1
template:
metadata:
labels:
app: reviews
version: v1
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v2
labels:
app: reviews
version: v2
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v2
template:
metadata:
labels:
app: reviews
version: v2
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v2:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: reviews-v3
labels:
app: reviews
version: v3
spec:
replicas: 1
selector:
matchLabels:
app: reviews
version: v3
template:
metadata:
labels:
app: reviews
version: v3
spec:
serviceAccountName: bookinfo-reviews
containers:
- name: reviews
image: docker.io/istio/examples-bookinfo-reviews-v3:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---
##################################################################################################
# Productpage services
##################################################################################################
apiVersion: v1
kind: Service
metadata:
name: productpage
labels:
app: productpage
service: productpage
spec:
ports:
- port: 9080
name: http
selector:
app: productpage
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: bookinfo-productpage
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: productpage-v1
labels:
app: productpage
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: productpage
version: v1
template:
metadata:
labels:
app: productpage
version: v1
spec:
serviceAccountName: bookinfo-productpage
containers:
- name: productpage
image: docker.io/istio/examples-bookinfo-productpage-v1:1.15.0
imagePullPolicy: IfNotPresent
ports:
- containerPort: 9080
---