《Istio官方文档》Google Kubernetes引擎快速入门

Google Kubernetes引擎快速入门

Google Kubernetes Engine(GKE)中使用Google Cloud Deployment Manager安装和运行Istio的快速入门说明。

这种快速启动用来创建一个新的GKE集群,安装Istio然后部署BookInfo示例应用程序。它使用Deployment Manager自动执行,在Istio on Kubernetes设置指南中详细介绍。

注:默认安装将创建一个GKE alpha群集,允许自动支架注入。由于它是一个alpha群集,它不支持自动节点或主升级,将在30天后自动删除。

先决条件

  • 此示例需要启用具备结算功能且有效的Google云端平台项目。如果您不是现有的GCP用户,则可以注册300美元的免费试用信用。
  • 确保为您的项目启用了Google Container Engine API(也可以通过导航栏中的导航到“APIs&Services” – >“Dashboard”找到)。如果您没有看到“启用API”,则可以通过单击“启用此API”按钮来启用API。
  • 您必须安装和配置gcloud命令行工具并包含kubectl组件(gcloud components install kubectl)。如果你不想在自己的机器上安装gcloud客户端,可以使用gcloud通过谷歌云脚本执行相同的任务。
  • 警告:您必须将您的默认计算服务帐户设置为包括:
    • roles/container.admin (Kubernetes引擎管理员)
    • Editor (默认情况下)

    要设置此项,请导航到云控制台IAM部分,并以以下形式 projectNumber-compute@developer.gserviceaccount.com 查找默认的GCE / GKE服务帐户:默认情况下,它应该具有编辑者角色。然后在该帐户的角色下拉列表中找到Kubernetes引擎组,然后选择角色Kubernetes引擎管理员。您的帐户的角色列表将更改为多个

建立

启动部署管理器

  1. 一旦启用了帐户和项目,请单击以下链接打开“部署管理器”。

    我们建议您保留默认设置,因为本教程的其余部分将介绍如何访问已安装的功能。默认情况下,工具创建具有指定设置的GKE alpha 集群,然后安装Istio 控制面版BookInfo示例应用程序,GrafanaPrometheusServiceGraph,和Zipkin。你会发现更多关于如何访问下面的所有这些。

  2. 点击部署: GKE-Istio启动器

等到Istio完全部署。请注意,这可能需要五分钟。

Bootstrap gcloud

完成部署后,在已安装gcloud的工作站上执行以下操作:

  1. 对刚刚创建的集群执行bootstrap kubectl,并确认集群正在运行,istio已启用
    gcloud container clusters list
    
    NAME             ZONE           MASTER_VERSION                    MASTER_IP       MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS
    istio-cluster  us-central1-a  1.7.8-gke.0 ALPHA (29 days left)  130.211.216.64  n1-standard-2  1.7.8-gke.0   3          RUNNING

    在这种情况下,群集名称是 istio-cluster

  2. 现在获取此群集的证书
    gcloud container clusters get-credentials istio-cluster --zone=us-central1-a

验证安装

验证Istio安装在它自己的命名空间中

kubectl get deployments,ing -n istio-system

现在确认BookInfo示例应用程序也已安装:

kubectl get deployments,ing

记下分配给BookInfo产品页面的IP和端口。(在上面的例子中,它为:35.202.120.89:80。

您还可以使用云控制台上的* Kubernetes引擎 – >工作负载部分查看安装: GKE-工作负载

访问BookInfo示例

  1. 为BookInfo的外部IP地址设置一个环境变量:
    kubectl get ingress -o wide
    export GATEWAY_URL=35.202.120.89
  2. 确认您可以访问BookInfo http://${GATEWAY_URL}/productpage
  3. 现在与它通信:
    for i in {1..100}; do curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage; done

验证已安装的Istio插件

一旦您确认了Istio控制面板和示例应用程序正在运行,请尝试访问已安装的Istio插件。

如果您使用云端Shell而不是安装的gcloud客户端,则可以使用其Web预览功能进行端口转发和代理。例如,要从Cloud Shell访问Grafana,请将kubectl端口映射从3000:3000更改为8080:3000。您可以通过8080到8084范围内的Web Preview代理同时预览其他四个控制台。

Grafana

建立一个通往Grafana的隧道:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=grafana -o jsonpath='{.items[0].metadata.name}') 3000:3000 &

然后

http://localhost:3000/dashboard/db/istio-dashboard

您应该会看到您之前发送请求的一些统计信息。

Grafana

有关使用Grafana的更多详细信息,请参阅关于Grafana插件

Prometheus

Prometheus与Grafana一起安装。您可以使用控制台查看Istio和应用程序指标,如下所示:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=prometheus -o jsonpath='{.items[0].metadata.name}') 9090:9090 &

查看控制台:

http://localhost:9090/graph

Prometheus

有关更多详细信息,请参阅关于Prometheus附加组件

ServiceGraph

建立到ServiceGraph的隧道:

kubectl -n istio-system port-forward $(kubectl -n istio-system get pod -l app=servicegraph -o jsonpath='{.items[0].metadata.name}') 8088:8088 &

您应该看到BookInfo服务拓扑在

http://localhost:8088/dotviz

ServiceGraph

有关更多详细信息,请参阅关于ServiceGraph附加组件

追踪

建立一个隧道到Zipkin:

kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app=zipkin -o jsonpath='{.items[0].metadata.name}') 9411:9411 &

您应该看到之前发送的跟踪统计信息:

http://localhost:9411

Zipkin

有关跟踪的更多细节,请参阅了解发生了什么

下一步是什么

您可以按照指南部分中的任何教程进一步探索BookInfo应用程序和Istio功能。但是,要做到这一点,你需要安装istioctl与Istio互动。您可以其直接安装在我们的工作站上或在云端Shell中。

卸载

  1. 导航到云控制台的“部署”部分,网址为:https://console.cloud.google.com/deployments
  2. 选择部署,然后单击删除
  3. 部署管理器将删除所有已部署的GKE工件 – 但是,Ingress和LoadBalancers等项目将保留。您可以通过在网络服务 – > LoadBalancers下再次转到云控制台来删除这些工件

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Istio官方文档》Google Kubernetes引擎快速入门

  • Trackback 关闭
  • 评论 (0)
  1. 暂无评论

return top