当前位置:网站首页>Istio1.12: installation and quick start
Istio1.12: installation and quick start
2022-07-02 19:42:00 【Qiyan】
Preface
Istio Use powerful Envoy The service proxy extends Kubernetes, To build a programmable 、 Perceptible application network .Istio And Kubernetes Use with traditional workloads , Brings standard general traffic management to complex deployments 、 Telemetry and security .
[ Failed to transfer the external chain picture , The origin station may have anti-theft chain mechanism , It is suggested to save the pictures and upload them directly (img-pNqBrfTt-1656680343352)(https://istio.io/latest/img/service-mesh.svg)]
download Istio
0. Istio Support status of version
Version | Currently Supported | Release Date | End of Life | Supported Kubernetes Versions | Tested, but not supported |
---|---|---|---|---|---|
master | No, development only | ||||
1.14 | Yes | May 24, 2022 | ~January 2023 (Expected) | 1.21, 1.22, 1.23, 1.24 | 1.16, 1.17, 1.18, 1.19, 1.20 |
1.13 | Yes | February 11, 2022 | ~October 2022 (Expected) | 1.20, 1.21, 1.22, 1.23 | 1.16, 1.17, 1.18, 1.19 |
1.12 | Yes | November 18, 2021 | Jul 12, 2022 | 1.19, 1.20, 1.21, 1.22 | 1.16, 1.17, 1.18 |
1.11 | No | August 12, 2021 | Mar 25, 2022 | 1.18, 1.19, 1.20, 1.21, 1.22 | 1.16, 1.17 |
1.10 | No | May 18, 2021 | Jan 7, 2022 | 1.18, 1.19, 1.20, 1.21 | 1.16, 1.17, 1.22 |
1.9 | No | February 9, 2021 | Oct 8, 2021 | 1.17, 1.18, 1.19, 1.20 | 1.15, 1.16 |
1.8 | No | November 10, 2020 | May 12, 2021 | 1.16, 1.17, 1.18, 1.19 | 1.15 |
1.7 | No | August 21, 2020 | Feb 25, 2021 | 1.16, 1.17, 1.18 | 1.15 |
1.6 and earlier | No |
Be careful :Kubernetes 1.22 Deleted some obsolete API, therefore 1.10.0 Previous Istio Version will no longer work . If you want to upgrade Kubernetes edition , Please make sure your Istio Version is still supported .
1. download Istio Installation package
To Istio Release page , Download the installation files for your operating system , Or use automated tools to download and extract the latest version (Linux or macOS):
$ curl -L https://istio.io/downloadIstio | sh -
The above command downloads the latest version ( Expressed as a number ) Of Istio. You can pass variables to the command line , Used to download the specified 、 Versions of different processor systems . for example , download x86_64 Architecturally 、1.6.8 Version of Istio , function :
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.12.0 TARGET_ARCH=x86_64 sh -
# perhaps
wget https://github.com/istio/istio/releases/download/1.14.1/istio-1.14.1-linux-amd64.tar.gz
tar zxvf istio-1.14.1-linux-amd64.tar.gz -C /usr/local/
2. Get into Istio The installation directory
go to Istio Package directory . for example , If the package is istio-1.14.1
:
$ cd istio-1.14.1
The installation directory contains :
samples/
Sample applications in the directorybin/
In the catalogistioctl
Client binaries .
3. Add environment variables PATH
take istioctl
The client joins the search path (Linux or macOS):
$ export PATH=$PWD/bin:$PATH
# Or set environment variables
echo 'export ISTIO_HOME=/usr/local/istio-1.14.1' >> /etc/profile
echo 'export PATH=$PATH:$ISTIO_HOME/bin' >> /etc/profile
# Load variables
source /etc/profile
4. Verification effect ( View version )
istioctl version
* istio-1.12.0 istioctl version
no running Istio pods in "istio-system"
1.12.0
You have new mail.
install Istio
For this installation , We use
demo
Configuration combination . It was chosen because it contains a set of features designed for testing , There are also configuration combinations for production or performance testing .If your platform has a configuration combination provided by the supplier , such as :Openshift, Replace... In the following command
demo
Configuration item . For more details, please refer to your Platform description$ istioctl install --set profile=demo -y Istio core installed Istiod installed Egress gateways installed Ingress gateways installed Installation complete istioctl install --set profile=demo -y Istio core installed Istiod installed Egress gateways installed Ingress gateways installed Installation complete Making this installation the default for injection and validation. Thank you for installing Istio 1.12. Please take a few minutes to tell us about your install/upgrade experience! https://forms.gle/FegQbc9UvePd4Z9z7 You have new mail.
Label the namespace , instructions Istio When deploying applications , Automatic injection Envoy Side car agent :
$ kubectl label namespace default istio-injection=enabled namespace/default labeled
Deploy the sample application
Deploy
Bookinfo
The sample application :$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml service/details created serviceaccount/bookinfo-details created deployment.apps/details-v1 created service/ratings created serviceaccount/bookinfo-ratings created deployment.apps/ratings-v1 created service/reviews created serviceaccount/bookinfo-reviews created deployment.apps/reviews-v1 created deployment.apps/reviews-v2 created deployment.apps/reviews-v3 created service/productpage created serviceaccount/bookinfo-productpage created deployment.apps/productpage-v1 created
The application will start soon . When each Pod When ready ,Istio Side car agents will be deployed with them .
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE details ClusterIP 10.0.0.212 <none> 9080/TCP 29s kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 25m productpage ClusterIP 10.0.0.57 <none> 9080/TCP 28s ratings ClusterIP 10.0.0.33 <none> 9080/TCP 29s reviews ClusterIP 10.0.0.28 <none> 9080/TCP 29s
and
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
details-v1-558b8b4b76-2llld 2/2 Running 0 2m41s
productpage-v1-6987489c74-lpkgl 2/2 Running 0 2m40s
ratings-v1-7dc98c7588-vzftc 2/2 Running 0 2m41s
reviews-v1-7f99cc4496-gdxfn 2/2 Running 0 2m41s
reviews-v2-7d79d5bd5d-8zzqd 2/2 Running 0 2m41s
reviews-v3-7dbcdcbc56-m8dph 2/2 Running 0 2m41s
Rerun the previous command , Before performing the following steps , Wait and make sure all Pod Reach this state : Ready state (READY) The value of is `2/2` 、 state (STATUS) The value of is `Running` . Based on your platform , This operation may take several minutes .
3. Verify that all aspects work correctly . Run the following command , By checking the page title returned , To verify that the application is running in the cluster , And has provided web services :
$ kubectl exec “$(kubectl get pod -l app=ratings -o jsonpath=‘{.items[0].metadata.name}’)” -c ratings – curl -s productpage:9080/productpage | grep -o “
Open up applications
here ,BookInfo The application has been deployed , But it's not accessible yet . Open access , You need to create Istio Inbound gateway (Ingress Gateway), It maps a path to a route at the edge of the grid .
Associate an application to Istio gateway :
$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml gateway.networking.istio.io/bookinfo-gateway created virtualservice.networking.istio.io/bookinfo created
Make sure there is no problem with the configuration file :
$ istioctl analyze No validation issues found when analyzing namespace: default.
Confirm inbound IP And port
According to the instructions , Set two variables for the access gateway :INGRESS_HOST
and INGRESS_PORT
. Use tabs , Switch to the description of your platform :
Minikube Other platforms
Set inbound port :
$ export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
$ export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
Confirm that the port is successfully assigned to each environment variable :
$ echo "$INGRESS_PORT"
32194
$ echo "$SECURE_INGRESS_PORT"
31632
Set inbound IP:
$ export INGRESS_HOST=$(minikube ip)
confirm IP The address is successfully assigned to the environment variable :
$ echo "$INGRESS_HOST"
192.168.4.102
Execute this command in a new terminal window , Start a Minikube Tunnel , It will send traffic to your Istio Inbound gateway :
$ minikube tunnel
Set the environment variable
GATEWAY_URL
:$ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
Make sure IP The address and port are successfully assigned to the environment variable :
$ echo "$GATEWAY_URL" 192.168.99.100:32194
Verify external access
Use a browser to view Bookinfo The product page of the app , verification Bookinfo External access has been implemented .
Run the following command , obtain Bookinfo The external access address of the application .
$ echo "http://$GATEWAY_URL/productpage"
Copy and paste the output address of the above command into the browser and visit , confirm Bookinfo Whether the product page of the application can be opened .
Look at the dashboard
Istio and How many? Telemetry applications are integrated . Telemetry can help you understand the structure of the service grid 、 Show the topology of the network 、 Analyze the health of the grid .
Use the following instructions to deploy Kiali instrument panel 、 as well as Prometheus、 Grafana、 also Jaeger
install Kiali And other plug-ins , Wait for the deployment to complete .
$ kubectl apply -f samples/addons $ kubectl rollout status deployment/kiali -n istio-system Waiting for deployment "kiali" rollout to finish: 0 of 1 updated replicas are available... deployment "kiali" successfully rolled out
If there is an error installing the plug-in , Run the command again . There are some time related problems , It can be solved by running again .
visit Kiali instrument panel .
$ istioctl dashboard kiali
On the left side of the navigation menu , choice Graph , And then in Namespace In the drop-down list , choice default .
Kiali The dashboard shows an overview of the grid 、 as well as
Bookinfo
The relationship between the various services of the sample application . It also provides filters to visualize the flow of traffic .Kiali Dashboard
uninstall Istio
To completely uninstall from the cluster Istio, Run the following command :
$ istioctl x uninstall --purge
Optional --purge
Parameter will delete all Istio resources , Including others Istio Control plane shared 、 Cluster wide resources .
perhaps , Delete only the specified Istio Control plane , Run the following command :
$ istioctl x uninstall <your original installation options>
or
$ istioctl manifest generate <your original installation options> | kubectl delete -f -
The namespace of the control plane ( for example :istio-system
) It will not be deleted by default , If it is confirmed that it is no longer needed , Delete it with the following command :
$ kubectl delete namespace istio-system
Reference link
https://istio.io/latest/zh/docs/setup/getting-started/#download
options> | kubectl delete -f -
The namespace of the control plane ( for example :`istio-system`) It will not be deleted by default , If it is confirmed that it is no longer needed , Delete it with the following command :
$ kubectl delete namespace istio-system
## Reference link
[Istio Chinese website ](https://istio.io/latest/zh/)
[Istio framework ](https://istio.io/latest/zh/docs/ops/deployment/architecture/)
https://istio.io/latest/zh/docs/setup/getting-started/#download
https://github.com/istio/istio/releases/tag/1.12.0
边栏推荐
- JASMINER X4 1U深度拆解,揭开高效省电背后的秘密
- AcWing 903. Expensive bride price solution (the shortest path - building map, Dijkstra)
- 股票证券公司排名,有安全保障吗
- 嵌入式(PLD) 系列,EPF10K50RC240-3N 可编程逻辑器件
- 冒泡排序数组
- IDEA编辑器去掉sql语句背景颜色SQL语句警告No data sources are configured to run this SQL...和SQL Dialect is Not Config
- Correspondence between pytoch version, CUDA version and graphics card driver version
- Data dimensionality reduction principal component analysis
- mysql函数
- Automatically generate VGg image annotation file
猜你喜欢
基于SSM实现网上购物商城系统
Web2.0 giants have deployed VC, and tiger Dao VC may become a shortcut to Web3
Windows2008R2 安装 PHP7.4.30 必须 LocalSystem 启动应用程序池 不然500错误 FastCGI 进程意外退出
Automatically generate VGg image annotation file
Py's interpret: a detailed introduction to interpret, installation, and case application
Py之interpret:interpret的简介、安装、案例应用之详细攻略
嵌入式(PLD) 系列,EPF10K50RC240-3N 可编程逻辑器件
注解开发方式下AutowiredAnnotationBeanPostProcessor的注册时机
蓝牙芯片ble是什么,以及该如何选型,后续技术发展的路径是什么
Chic Lang: completely solve the problem of markdown pictures - no need to upload pictures - no need to network - there is no lack of pictures forwarded to others
随机推荐
LeetCode 0871.最低加油次数 - 类似于POJ2431丛林探险
LeetCode 0871. Minimum refueling times - similar to poj2431 jungle adventure
RPD出品:Superpower Squad 保姆级攻略
高并发下如何避免产生重复数据?
A4988 drive stepper motor "recommended collection"
Istio1.12:安装和快速入门
AcWing 1128. Messenger solution (shortest path Floyd)
Chic Lang: completely solve the problem of markdown pictures - no need to upload pictures - no need to network - there is no lack of pictures forwarded to others
Cuckoo filter
简书自动阅读
浏览器缓存机制概述
Génération automatique de fichiers d'annotation d'images vgg
Introduction to program ape (XII) -- data storage
解决方案:VS2017 无法打开源文件 stdio.h main.h 等头文件[通俗易懂]
Kt148a voice chip IC user end self replacement voice method, upper computer
Think about the huge changes caused by variables
AcWing 1131. Saving Private Ryan (the shortest way)
编写完10万行代码,我发了篇长文吐槽Rust
4274. Suffix expression - binary expression tree
How to avoid duplicate data in gaobingfa?