Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to install Istio

2025-04-10 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)05/31 Report--

This article mainly explains "how to install Istio". The explanation content in this article is simple and clear, easy to learn and understand. Please follow the ideas of Xiaobian slowly and deeply to study and learn "how to install Istio" together.

Why use Istio?

Through Load Balancer, authentication between services, monitoring, etc., Istio can easily create a network where services are deployed with little or no code change. Add Istio support to services by deploying a special sidecar proxy throughout the environment, which intercepts all network traffic between microservices and then uses its control plane capabilities to configure and manage Istio, including:

Automatic Load Balancer for HTTP, gRPC, WebSocket, and TCP traffic.

Fine-grained control of traffic behavior through rich routing rules, retry, failover, and fault injection.

Pluggable policy layer and configuration API that supports access control, rate limiting, and quotas.

Automated measurement, logging, and tracing of all traffic within the cluster, including ingress and egress of the cluster.

Secure inter-service communication in clusters with strong authentication-based authorization.

Istio is designed for scalability to meet different deployment needs.

installation method

There are three ways to install istio:

Customizable Install with Istioctl

Customizable Install with Helm

Standalone Operator Install

Here I download istio and install it using istioctl.

container image

Istio 1.5.1 requires multiple mirrors, which I downloaded and uploaded to each node to reduce traffic and speed up.

docker pull docker.io/istio/pilot:1.5.1docker pull docker.io/istio/proxyv2:1.5.1docker pull docker.io/jaegertracing/all-in-one:1.16docker pull docker.io/prom/prometheus:v2.15.1docker pull grafana/grafana:6.5.2docker pull quay.io/kiali/kiali:v1.15

Save the image and package it as *. zip:

echo ""echo "=========================================================="echo "Save istio for x64 v1.5.1 Images from docker.io ...... "echo"================================================================="echo"#MY_REGISTRY = mirrorgcrioISTIO_VERSION ="1.0 5.1" IMAGES_PATH =~/istio-images-$ISTIO_VERSIONmkdir $IMAGES_PATH ##Pull Mirrors docker save www.example.com-o $IMAGES_PATH/istio-pilot-$ISTIO_VERSION. tar@ker save www.example.com-o $IMAGES_PATH/istio-proxyv2-$ISTIO_VERSION. tardocker save www.example.com-o $IMAGES_PATH/istio-jaeger-$ISTIO_VERSION. tardocker save www.example.com-o $IMAGES_PATH/istio-jaeger-$ISTIO_VERSION. tardocker ker save www.example.com-o $IMAGE_PATH/istio-prometheus-2.15.1.tardocker save grafana/grafana: 6.5.2-o $IMAGES_PATH/istio-grafana-6.5.2.tardocker save www.example.com-o $IMAGES_PATH/istio-kiali-1.15@tarecho" Copy loader into $IMAGES_PATH" cp www.example.com $IMAGES_PATH/echo" Zip to $IMAGES_PATH. zip" cd~zip-r istio-images-$ISTIO_docker.io/istio/pilot:1.5.1 "echo " by openthings@https://my.oschina.net/u/2306127. "echo "=========================================================="echo ""

Upload to node using scp and run unzip to extract.

scp istio-images-1.5.1.zip openthings@openbox00:~/

Save the following to the file istio-images-load.sh:

echo ""echo "=========================================================="echo "Load istio for x64 v1.5.1 Images from zip ...... "echo"=========================================="echo""#MY_REGISTRY = mirrorgcrioISTIO_VERSION =" 1.5.1 "IMAGES_PATH =~/istio-images-$ISTIO_VERSION #cd~#unzip istio-images-$ISTIO_VERSION. zip #cd istio-images-$ISTIO_VERSION ##pull mirror docker-i $IMAGES_PATH/istio-pilot-$load ISTIO_VERSION.tardocker load-i $IMAGES_PATH/istio-proxyv2-$ISTIO_VERSION.tardocker load-i $IMAGES_PATH/istio-jaeger-$ISTIO_VERSION.tardocker load-i $IMAGES_PATH/istio-prometheus-2.15.1.tardocker load-i $IMAGES_PATH/istio-grafana-6.5.2.tardocker load-i $IMAGES_PATH/istio-kiali-1.15.tarecho ""echo "=========================================================="echo "Save istio for x64 v1.5.1 Images FINISHED. "echo " by openthings@https://my.oschina.net/u/2306127. "echo "=========================================================="echo ""

Then use istio-images-load.sh to load the image into docker.

More tools reference: https://www.example.com

Download Istio

For some reason, the download link for the official documentation above cannot be accessed. I downloaded it from here and expanded it:

wget -c https://github.com/istio/istio/releases/download/1.5.1/istio-1.5.1-linux.tar.gz

The download will contain: installation files, samples, and istioctl command line tools.

Visit the Istio release page to download the installation files for your operating system. On macOS or Linux, you can also download the latest version of Istio with the following command:

$ curl -L https://istio.io/downloadIstio | sh -

Switch to the directory where the Istio package is located. For example: Istio package name istio-1.6.0, then:

$ cd istio-1.6.0

The installation directory contains the following contents:

install/kubernetes directory, there are Kubernetes-related YAML installation files

Sample applications are available under samples/

Bin/directory, containing istioctl client files. The istioctl tool is used to manually inject Envoy sidecar agents.

Add the istioctl client path to the path environment variable as follows for macOS or Linux:

$ export PATH=$PWD/bin:$PATH

When using bash or ZSH consoles, you can choose to enable the auto-completion option.

install Istio

Follow these steps to install Istio on your platform of choice using the demo profile.

Install demo configuration:

$ istioctl manifest apply --set profile=demo

To verify that the installation is successful, you need to ensure that the following Kubernetes services are deployed correctly, and then verify that all services other than the jaeger-agent service have the correct CLUSTER-IP:

$ kubectl get svc -n istio-system

If the cluster is running in an environment that does not support an external Load Balancer (for example, minikube), the EXTERNAL-IP of the istio-ingressgateway will appear as status. Please use the NodePort or Port Forwarding of the service to access the gateway.

Make sure the associated Kubernetes pod is deployed and STATUS is Running:

$kubectl get pods-n istio-system Next steps

Once Istio is installed, you can deploy your own services or any of the sample applications of the system in the installer.

Applications must use HTTP/1.1 or HTTP/2.0 protocols for HTTP communication; HTTP/1.0 is not supported.

When using kubectl apply to deploy an application, if the pod is launched in a namespace marked istio-injection = enabled, then the Istio sidecar injector will automatically inject Envoy containers into the app's pod:

$ kubectl label namespace istio-injection=enabled $ kubectl create -n -f .yaml

In namespaces without the istio-injection tag, you can manually inject Envoy containers into your app's pod before deployment using the istioctl kube-inject command:

$ istioctl kube-inject -f .yaml | kubectl apply -f -

If you're unsure where to start, deploy the Bookinfo sample first, which will give you a taste of Istio's traffic routing, fault injection, rate limiting, and more. You can then browse through a wide variety of Istio missions according to your interests.

The following tasks are good entry points for beginners:

Request Routing

fault injection

traffic shifting

the API query metricquery

visualizing metrics

log collection

rate limiting

ingress gateway

access external services

Visualize your mesh

Next, you can customize Istio and deploy your own app. Before you start customizing Istio to fit your platform or other uses, check out the following resources:

deployment model

deployment best practices

Pod requirements

General installation instructions

If you have any questions about using Istio, please let us know and we welcome you to join our community.

uninstall

Uninstaller removes RBAC permissions, istio-system namespace, and all related resources. Errors for resources that do not exist can be ignored because they may have been deleted.

$ istioctl manifest generate --set profile=demo | kubectl delete -f -

Thank you for reading, the above is the content of "Istio how to install", after the study of this article, I believe that everyone has a deeper understanding of how to install Istio, the specific use of the situation also needs to be verified by practice. Here is, Xiaobian will push more articles related to knowledge points for everyone, welcome to pay attention!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report