版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c5113620/article/details/82765686
安装集群看这个
使用kubeadm安装单节点kubernetes集群,在vmware虚拟机centos7
下载istio
curl -L https://git.io/getLatestIstio | sh -
cd istio-1.0.2
把当前目录下bin,加入path , centos .bashrc
export PATH="$PATH:/root/istio-1.0.2/bin"
安装istio到kuberbetes集群内
安装istio定义的资源,就是kuberbetes可以定义一些资源,类似数据类型
kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml
kubeadm安装的kubernetes是有TLS authentication
kubectl apply -f install/kubernetes/istio-demo-auth.yaml
查看是否安装正常
kubectl get svc -n istio-system 注意有istio-sidecar-injector,就是自动注入sidecar,在选择安装bookinfo时,with automatic sidecar injection
kubectl get pods -n istio-system 确保status是,running或者Completed,安装kubernetes时,开启docker proxy代理,这是要docker pull image
安装bookinfo
kubectl label namespace default istio-injection=enabled
kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
确认安装好
kubectl get services
kubectl get pods 确保status是,running
安装ingress gateway
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
kubectl get gateway
判断设置访问地址,我是电脑上vmware虚拟机内安装
does [not] have an external load balancer
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o 'jsonpath={.items[0].status.hostIP}')
export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
测试,访问
curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage
200
浏览器访问
打印地址
echo ${GATEWAY_URL}
替换得到地址 http://${GATEWAY_URL}/productpage
只访问http://${GATEWAY_URL},会提示404不存在,一定要试试全路径