本文作用是记录并分享我个人从0到bookinfo demo展示的全过程。

第零步

我是通过windows vm安装的一个centos7.3,分配2核,3G内存,自己安装好docker。

第一步

安装minikube,可以站好官网顺序进行安装配置,详情查看https://minikube.sigs.k8s.io/docs/start/

中间遇到的问题:

  • curl获取包的时候,可能会出现下载不下来的情况,多次尝试即可。
  • 进行minikube start时候遇到的问题

    • 执行出现docker错误
      • 先确认docker.service是否启动
      • 执行的用户不能用root用户,需要创建自己的用户
    • 某些docker镜像下载不下来
      • 通过docker pull 先下载好
      • 然后docker tag改名
      • 然后docker save -o 包名保存,注意不用增加后缀,然后保存到xx/.minikube/cache/images下面
    • 确保以上内容之后,执行以下命令
      minikube start     --image-mirror-country=cn     --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --cache-images=true
       

 第二步

先下载准备好istio包,我的是1.9.0版本,然后根据文档进行执行。

  1. 将istio的/bin加入到环境变量中
  2. 执行istioctl install,这个过程中可能会出现多次错误,多次重试即可
    istioctl install --set profile=demo --charts=manifests/ -y
  3. 继续执行
    kubectl label namespace default istio-injection=enabled
  4. 部署bookinfo.yaml文件
  5. 运行下面代码,查看运行结果(可能比较慢,稍等一会儿),保证pods的相关状态都变成了ready 2/2,status Running,如果有异常,可以通过kubectl describe pod/对应名称进行查看原因,大概率是因为docker镜像没有下载下来,然后还是通过docker pull 手动下载试一下。
    kubectl get service, pods
  6. 运行结果验证
    kubectl exec "$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')" -c ratings -- curl -sS productpage:9080/productpage | grep -o "<title>.*</title>"
  7. 继续执行istio的网管部署
    kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml


    执行校验
    istioctl analyze
  8. 访问bookinfo demo,因为我用的是minikube方式部署,所以把这个方法写一下
    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}')
    export INGRESS_HOST=$(minikube ip)
    export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
    
    echo "http://$GATEWAY_URL/productpage"
  9. 其他平台方式:

  10. 访问网址即可,因为我是自己的windows远程另一个windows下的vm中的centos,所以我做了个nodejs的映射,这样就可以访问到我的bookinfo了。

 

 以上,就完成了本次istio bookinfo demo的部署,这才是红军长征的第一步。

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐