0
点赞
收藏
分享

微信扫一扫

istio部署

  1. 下载istio

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.4 sh -

注: ISTIO_VERSION指定对应的istio版本,上述服务器不能科学上网可能会比较慢或者失败,可自行下载好上传到服务器,上面命令只是下载istio的压缩包然后解压将命令加入环境变量而已。

  1. 上述命令执行成功后查看下版本是否正确

istioctl version

istio部署_k8s

  1. 使用istioctl安装对应的套件

istio部署_kubernetes_02

默认安装只会安装核心的组件和套件,demo会安装几乎所有的组件和套件,学习的话可以用demo,生产用默认方式即可,也可以根据需求自定义安装所需组件及其套件

#默认安装 
istioctl manifest install
#选择profile
istioctl manifest install --set profile=demo
#自定义安装选项
istioctl manifest install --set addonComponents.grafana.enabled=true
#自定义安装清单
istioctl manifest install --set installPackagePath=<发布路径>/install/kubernetes/operator/charts

这里我采用demo方式,默认方式安装istioctl manifest install即可。

istioctl manifest install --set profile=demo

istio部署_微服务_03

  1. 部署服务

# 创建istio命名空间
kubectl create ns istio
# 对istio命名空间开启自动注入sidecar
kubectl label namespace istio istio-injection=enabled --overwrite
# 获取命名空间注入状态
kubectl get namespace -L istio-injection

istio部署_istio_04

部署简单的http服务httpbin测试:

# 部署
kubectl apply -f samples/httpbin/httpbin.yaml -n istio
# 查看
kubectl get pods -n istio

istio部署_k8s_05

istio部署_kubernetes_06

部署gateway和VirtualService是其在外部可以被访问:

cat  << EOF| kubectl apply -n istio -f  - 
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: httpbin-gateway
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: httpbin
spec:
hosts:
- "*"
gateways:
- httpbin-gateway
http:
- match:
- uri:
prefix: /headers
route:
- destination:
port:
number: 8000
host: httpbin
EOF

istio部署_kubernetes_07

istio部署_linux_08

通过ip加端口即可访问,这里我使用了外部负载均衡器,所以访问的是外部负载均衡器的公网地址。



举报

相关推荐

0 条评论