k8s1.18.9 Helm 安装istio 1.9.3

该博客详细介绍了手动安装Istio 1.9.3版本的步骤,包括下载安装包、安装、配置、验证以及金丝雀升级的过程。遇到网络问题时,建议直接从官网下载安装包。安装过程中涉及命名空间配置、Istiod服务部署、入站和出站网关的安装,并提供了在不同阶段的验证方法和金丝雀升级的流程。
摘要由CSDN通过智能技术生成

在这里插入图片描述

根据官网的步骤首先要下载一个shell脚本,之后会执行这个脚本。下载相关的安装包。但是可能由于网络原因会导致下载失败。所以我采取了直接从官网下载安装包,地址如下,可自主下载需要的版本

https://github.com/istio/istio/releases/

开始安装

1.下载istio 1.9.3 安装包

wget https://github.com/istio/istio/releases/download/1.9.3/istio-1.9.3-linux-amd64.tar.gz
tar xf istio-1.9.3-linux-amd64.tar.gz
cd istio-1.9.3/
cp bin/istioctl /usr/local/bin
istioctl install
给命名空间添加标签,指示 Istio 在部署应用的时候,自动的注入 Envoy 边车代理:
kubectl label namespace default istio-injection=enabled

2.为 Istio 组件,创建命名空间 istio-system

kubectl create namespace istio-system

3.安装 Istio base chart,它包含了 Istio 控制平面用到的集群范围的资源

helm install istio-base manifests/charts/base -n istio-system

4.安装 Istio discovery chart,它用于部署 istiod 服务

helm install istiod manifests/charts/istio-control/istio-discovery \
    --set global.hub="docker.io/istio" \
    --set global.tag="1.9.3" \
    -n istio-system

如果pod一直在创建中切报如下错误
在这里插入图片描述
修改vim /etc/kubernetes/manifests/kube-apiserver.yaml,添加如下配置

- --service-account-signing-key-file=/etc/kubernetes/pki/sa.key
- --service-account-key-file=/etc/kubernetes/pki/sa.pub
- --service-account-issuer=api
- --service-account-api-audiences=api,vault,factors

5.(可选项) 安装 Istio 的入站网关 chart,它包含入站网关组件

helm install istio-ingress manifests/charts/gateways/istio-ingress \
    --set global.hub="docker.io/istio" \
    --set global.tag="1.9.3" \
    -n istio-system

6.(可选项) 安装 Istio 的出站网关 chart,它包含了出站网关组件
helm install istio-egress manifests/charts/gateways/istio-egress
–set global.hub=“docker.io/istio”
–set global.tag=“1.9.3”
-n istio-system

验证安装

  1. 确认命名空间 istio-system 中所有 Kubernetes pods 均已部署,且返回值中 STATUS 的值为 Running
kubectl get pods -n istio-system

金丝雀升级 (推荐)

1.设置版本,安装金丝雀版本的 Istio discovery chart

helm install istiod-canary manifests/charts/istio-control/istio-discovery \
    --set revision=canary \
    --set global.hub="docker.io/istio" \
    --set global.tag=<version_to_upgrade> \
    -n istio-system

2.验证在你的集群中运行了两个版本的 istiod

kubectl get pods -l app=istiod -L istio.io/rev -n istio-system
  NAME                            READY   STATUS    RESTARTS   AGE   REV
  istiod-5649c48ddc-dlkh8         1/1     Running   0          71m   default
  istiod-canary-9cc9fd96f-jpc7n   1/1     Running   0          34m   canary

3.按照 这里的 步骤在金丝雀版本的控制平面中测试或迁移存量工作负载。

4.在你验证并迁移工作负载到金丝雀版本的控制平面之后,即可删除老版本的控制平面:

helm delete istiod -n istio-system

删除istio crd role clusterrole

kubectl  delete clusterrole istio-reader-istio-system
kubectl  delete clusterrole istiod-istio-system
kubectl  delete clusterrolebindings.rbac.authorization.k8s.io istiod-istio-system
kubectl  delete clusterrolebindings.rbac.authorization.k8s.io istio-reader-istio-system
kubectl  delete validatingwebhookconfigurations.admissionregistration.k8s.io istiod-istio-system
kubectl  delete mutatingwebhookconfigurations.admissionregistration.k8s.io istio-sidecar-injector

卸载istio

istioctl x uninstall --purge

官网安装地址:
https://istio.io/latest/zh/docs/setup/install/helm/#installation-steps

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloud孙文波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值