创建Istio

简介: 此教程介绍如何使用 Helm 安装 Istio 及其组件。首先修改 `kube-apiserver.yaml` 配置服务账户参数,接着创建 `istio-system` 命名空间并添加 Istio 的 Helm 源。通过 Helm 安装 Istio Base 和 Discovery (istiod) Chart,并部署 Ingress Gateway 到 `istio-ingress` 命名空间。最后,创建一个 Nginx Deployment 和 Service,以及对应的 Istio Gateway 和 VirtualService 来验证安装是否成功.

官网:https://istio.io/latest/zh/docs/setup/install/helm/
1、修改文件

sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml 


    - --service-account-issuer=api
    - --service-account-api-audiences=api,vault,factors
    - --feature-gates=RemoveSelfLink=false
    - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key

2、创建 namespace

kubectl create namespace istio-system
3

、添加 helm 源

helm repo add istio https://istio-release.storage.googleapis.com/charts
helm repo list
helm repo update

4、 安装 Istio Base Chart

helm install istio-base istio/base -n istio-system --set defaultRevision=default

5、查看

helm ls -n istio-system
6

、安装 Istio Discovery Chart,它用于部署 istiod 服务

helm install istiod istio/istiod -n istio-system
7

、安装 gateway

kubectl create namespace istio-ingress
helm install istio-ingress istio/gateway -n istio-ingress

8、验证
创建 nginx

-rw-rw-r--  1 keda keda  709 1210 15:16 nginx-VirtualService.yaml
keda@citc-OpenStack-Nova:~/istio$ cat nginx-deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: oicc.eu.org/nginx:latest
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: ClusterIP

创建一个 Istio IngressGateway 和 VirtualService

keda@citc-OpenStack-Nova:~/istio$ cat nginx-VirtualService.yaml 
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: nginx-gateway
spec:
  selector:
    istio: ingress  # 使用 Istio 默认的 IngressGateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: nginx
spec:
  hosts:
  - "*"
  gateways:
  - nginx-gateway
  http:
  - match:
    - uri:
        exact: /nginx
    rewrite:
      uri: /
    route:
    - destination:
        host: nginx
        port:
          number: 80
相关文章
|
运维 监控 负载均衡
Istio 介绍
当下,微服务架构在构建和部署现代应用程序时变得越来越流行。然而,微服务架构的复杂性也随之增加,特别是在涉及到服务间通信、负载均衡、安全性和监控方面。在这个复杂的环境中,Istio成为了一个强大的工具,它可以帮助您管理和控制微服务应用程序的各个方面。本文将详细介绍Istio,并探讨其核心功能和优势。
|
Kubernetes 测试技术 应用服务中间件
Istio简介及基于ACK安装Istio
了解服务网格开源产品Istio,使用阿里云ACK安装Istio过程
1211 2
|
容器 微服务 Kubernetes
带你读《Istio入门与实战》之一:服务网格与Istio
本书系统化介绍Istio技术要点与应用技巧,可帮助读者快速搭建微服务架构并进行管理。主要内容包括:service mesh基本概念与使用,Istio架构设计与主要功能,快速搭建一个微服务实验,介绍如何让服务流量控制更简单,让服务更具弹性,让服务故障测试更容易,让服务通信更安全可控,让服务更易观测与监控,以及istio维护方案。本书内容丰富、案例讲解,实用性强,非常适合入门级读者快速掌握Istio技术。
|
5月前
|
Prometheus Kubernetes 网络协议
Istio 的配置分析
Istio 的配置分析
86 1
|
1月前
|
Kubernetes 数据可视化 微服务
掌握 Istio:部署完成后如何运用?
本文介绍了在Ubuntu 20.04单机环境下使用Istio服务网格的配置与测试过程。主要内容包括: 1. **环境准备**:使用一台IP为10.9.2.83的机器。 2. **Istio简介**:Istio简化了Kubernetes集群中的服务间通信、流量管理、安全性和可观测性。 3. **部署Bookinfo示例**: - 创建命名空间`istio-demo`并启用自动注入功能。 - 部署Bookinfo应用,包含四个微服务,并验证其正常运行。
33 0
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
322 0
|
负载均衡 Kubernetes 监控
[Istio是什么?] 还不知道你就out了,40分钟快速理解(上)
[Istio是什么?] 还不知道你就out了,40分钟快速理解
211 0
|
负载均衡 Kubernetes 网络协议
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
[Istio是什么?] 还不知道你就out了,40分钟快速理解(下)
122 0
|
数据采集 Prometheus 监控
ISTIO telemetry V2 介绍
### 背景 ISTIO 早期版本(1.4以前)的架构非常优雅, 模块之间解耦清晰,职责分明。 但现在看来有一定理想化,所有流量通过Mixer,通过Mixer 统一采集和上报所有的遥测数据和服务间访问鉴权,导致一旦规模上来,Mixer 非常容易成为性能瓶颈。 ![image.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/920
1732 0
|
容器 Kubernetes 网络协议
在Istio上创建自定义的ingress-gateway
我们都知道,在istio中可以通过ingress gateway将服务暴露给外部使用,但是我们使用的ingress规则都是落在istio部署时默认创建的istio-ingressgateway上,如果我们希望创建自定义的ingressgateway该怎么操作呢,本文就带大家一步步操作,创建一个自定义的ingressgateway 环境准备 创建Kubernetes集群 阿里云容器服务Kubernetes 1.11.2目前已经上线,可以通过容器服务管理控制台非常方便地快速创建 Kubernetes 集群。
6039 0