Kubernetes Istio从1.4升级到1.5

Kubernetes Istio从1.4升级到1.5,kubernetes,istio,Kubernetes,Istio,通过在k8s cluster-1.15.1上运行以下命令,我们已经从istio-demo.yml文件安装了istion-1.4.0 kubectl apply-f istio-demo.yml 现在,我们需要将我们的istio从1.4.0升级到1.5.0,据我所知,由于istio组件的变化(引入istiod并移除城堡、厨房、政策和遥测系统),这不是直接的 我如何才能从kubectl升级到istoctl,以便我将来升级到iSto时与之保持一致?正如我在评论中提到的,我遵循了关于创建升级的主题by@

通过在k8s cluster-1.15.1上运行以下命令,我们已经从istio-demo.yml文件安装了istion-1.4.0

kubectl apply-f istio-demo.yml

现在,我们需要将我们的istio从1.4.0升级到1.5.0,据我所知,由于istio组件的变化(引入istiod并移除城堡、厨房、政策和遥测系统),这不是直接的


我如何才能从kubectl升级到istoctl,以便我将来升级到iSto时与之保持一致?

正如我在评论中提到的,我遵循了关于创建升级的主题by@laurentiuspurba.

我已经为您的用例做了一些修改,所以从1.4升级到1.5

请看下面要遵循的步骤


1.遵循istio并安装istioctl 1.4和1.5,包括:

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.4.0 sh -
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.5.0 sh -
2.将istioctl 1.4添加到路径中

cd istio-1.4.0
export PATH=$PWD/bin:$PATH
cd istio-1.5.0
export PATH=$PWD/bin:$PATH
3.安装istio 1.4

istioctl manifest generate > $HOME/generated-manifest.yaml
kubectl create namespace istio-system
kubectl apply -f generated-manifest.yaml
4.检查是否一切正常

kubectl get pod -n istio-system
kubectl get svc -n istio-system
istioctl version
kubectl get pod -n istio-system
kubectl get svc -n istio-system
istioctl version
5.将istioctl 1.5添加到路径中

cd istio-1.4.0
export PATH=$PWD/bin:$PATH
cd istio-1.5.0
export PATH=$PWD/bin:$PATH
6.安装以备将来升级

istioctl operator init
7.准备IstioOperator.yaml

nano IstioOperator.yaml
istioctl upgrade -f IstioOperator.yaml 

8.升级前,请使用以下命令

kubectl -n istio-system delete service/istio-galley deployment.apps/istio-galley
kubectl delete validatingwebhookconfiguration.admissionregistration.k8s.io/istio-galley
kubectl -n istio-system delete deployment istio-citadel istio-galley istio-pilot istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete service istio-citadel istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete horizontalpodautoscaler.autoscaling/istio-pilot horizontalpodautoscaler.autoscaling/istio-telemetry
kubectl -n istio-system delete pdb istio-citadel istio-galley istio-pilot istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete deployment istiocoredns
kubectl -n istio-system delete service istiocoredns
9.使用istioctl升级和准备的IstioOperator.yaml从1.4升级到1.5

nano IstioOperator.yaml
istioctl upgrade -f IstioOperator.yaml 
10.升级后,使用以下命令

kubectl -n istio-system delete service/istio-galley deployment.apps/istio-galley
kubectl delete validatingwebhookconfiguration.admissionregistration.k8s.io/istio-galley
kubectl -n istio-system delete deployment istio-citadel istio-galley istio-pilot istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete service istio-citadel istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete horizontalpodautoscaler.autoscaling/istio-pilot horizontalpodautoscaler.autoscaling/istio-telemetry
kubectl -n istio-system delete pdb istio-citadel istio-galley istio-pilot istio-policy istio-sidecar-injector istio-telemetry
kubectl -n istio-system delete deployment istiocoredns
kubectl -n istio-system delete service istiocoredns
11.检查是否一切正常

kubectl get pod -n istio-system
kubectl get svc -n istio-system
istioctl version
kubectl get pod -n istio-system
kubectl get svc -n istio-system
istioctl version
12.我部署了一个bookinfo应用程序来检查是否一切正常

kubectl label namespace default istio-injection=enabled
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
13.结果

curl -v xx.xx.xxx.xxx/productpage | grep HTTP
HTTP/1.1 200 OK


istioctl version
client version: 1.5.0
control plane version: 1.5.0
data plane version: 1.5.0 (8 proxies)


希望你觉得这个有用。如果您有任何问题,请告诉我。

您的问题是什么?具体来说,@Rico。。我已经起草了查询,没有几行被遗漏。我不确定我是否理解正确,您正在寻找一种方法来安装
istioctl
,并使用它安装istio,或者使用
kubectl apply
升级您的istio构建?如果它是关于升级的,我怀疑它可能会像helm一样工作,istio上有社区指南,您可以尝试安装并遵循从1.4.x到1.4.10和从1.4.10到1.5.x的步骤吗?