Istio 1.0学习笔记(二):部署官方示例Bookinfo
📅 2018-08-23
前面我们已经将Istio 1.0.0安装到了Kubernetes集群中,本篇我们将会将示例应用Booinfo跑起来。
1.Bookinfo示例应用概述 #
Bookinfo这个示例应用由4个独立的微服务组成,Istio使用这个应用来演示Istio的Service Mesh的各种功能。 Bookinfo应用的端到端架构图如下:
...前面我们已经将Istio 1.0.0安装到了Kubernetes集群中,本篇我们将会将示例应用Booinfo跑起来。
Bookinfo这个示例应用由4个独立的微服务组成,Istio使用这个应用来演示Istio的Service Mesh的各种功能。 Bookinfo应用的端到端架构图如下:
...Istio已经发布了可以用于生产的1.0版本,这里也跟进一下。首先,我们需要在Kubernetes上安装Istio,这里将实验基于安装包安装方式。 本文的实验环境是Kubernetes 1.11。
istio的文档中说istio 1.0需要Kubernetes 1.9或更高版本,需要Kubernetes的CRD(自定义资源定义)功能
...
Kubernetes 1.11已经发布一个多月了。我们线上的版本都是按照比官方最新版本低一个版本的节奏。 因此可以开始考虑将团队线上环境的Kubernetes集群从1.9升级到1.10了。 本文记录了在测试环境中的演练过程。
当前Kubernetes 1.10的小版本是1.10.6。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.10 - Action Required Before Upgrading。
...kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...Jenkins Script Security Plugin是一个用于保障Jenkins脚本安全的插件。 该插件定义了一个白名单,只有在白名单内的方法和静态方法才能能在Jenkins的Groovy sandbox中运行。 具体可以查看https://github.com/jenkinsci/script-security-plugin/blob/master/src/main/resources/org/jenkinsci/plugins/scriptsecurity/sandbox/whitelists/generic-whitelist。
例如当前的版本在pipeline中中使用java.time.Instant.parse("2019-07-15T07:24:29.830388369Z")
方法,就会报下面的错误:
Let’s Encrypt是从今年三月份开始支持通配证书的,个人很多测试环境都是使用的frognew.com的二级域名,因此开始折腾一下通配证书将带来很大的方便。 在支持通配证书之前,Let’s Encrypt支持以下两种证书:
单域名证书:即证书仅包含一个主机
...Jenkins Pipeline支持两种语法,一种Declarative Pipeline(声明式),一种Scripted Pipeline(脚本式)。 声明式的Pipeline限制用户使用严格的预选定义的结构,是一种声明式的编程模型,对比脚本式的Pipeline学习起来更加简单;脚本式的Pipeline限制比较少,结构和语法的限制由Groovy本身决定,是一种命令式的编程模型。
...去年整理过一篇《Kubernetes Ingress实战》,经过这一年的发展Kubernetes的Ingress发生了很大的变化,原来的文章很多地方都不适用了。因此决定结合我们目前的使用情况重新写几篇Kubernetes Ingress相关的分享,内容是比较入门和初级的实操,请高手勿喷。
...去年整理过一篇《Kubernetes Ingress实战》,经过这一年的发展Kubernetes的Ingress发生了很大的变化,原来的文章很多地方都不适用了。因此决定结合我们目前的使用情况重新写几篇Kubernetes Ingress相关的分享,内容是比较入门和初级的实操,请高手勿喷。
...Vue脚手架整合了webpack-bundle-analyzer可以用来可视化分析打包文件。
在脚手架创建项目的build/webpack.prod.conf.js
中有如下的配置:
1if (config.build.bundleAnalyzerReport) {
2 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
3 webpackConfig.plugins.push(new BundleAnalyzerPlugin())
4}
使用起来十分方便,直接npm run build --report
即可。--report
选项会根据构建统计生成报告,并分析包中包含的模块们的大小。命令执行完毕后,会自动启动浏览器并打开分析报告页面。