愿每天太阳升起的时候,你都对这个世界存有爱意。
成都创新互联主营酒泉网站建设的网络公司,主营网站建设方案,app软件开发公司,酒泉h5微信小程序定制开发搭建,酒泉网站营销推广欢迎酒泉等地区企业咨询
最近在研究Istio1.6新特性,于是想自己搭一个试试看。计划是这样的:
1)买一台阿里云ECS,用CentOS系统;
2)装一个minikube,跑一个Guestbook应用验证成功;
3)再装一个Istio1.6,跑一个Bookinfo应用验证成功。
计划是一天弄好,但是看起来很简单的事情,还是遇到了很多问题,花了两天的时间才终于弄好,分享给各位。本文是第二篇,介绍Kubernetes示例程序验证和反向代理Ngnix的配置。
Guestbook是一个PHP Web应用,包括frontend、redis-master和redis-slave三个微服务。
其中,redis-master服务处理写请求,redis-slave服务处理读请求。
具体配置参考 Kubernetes官方文档 。
pod:按照replica,部署了1个redis-master、2个redis-slave、3个frontend,可以看到他们都在 Running状态。
service:
可以看到frontend是通过NodePort起来的,可以通过命令获得访问地址:
或者直接使用;ECS 私有ip: 80映射端口(30004)访问即可。
由于用ECS的公网IP一直访问不到服务,于是想到用nginx做一个转发,不知道官方正解是什么,感觉每个服务都要配转发规则实在缓数御是有点儿原始。
首先想到用docker起一个nginx container,在里面配置转发规则。
还是访问不到,我猜是请求直接转发到container内部,但是想要访问的服务并不是起在容器内部,所以访问不到(不知道我的猜测对不对)。
于是放弃docker的方式,选择直接在ECS里安装nginx。
下一篇将介绍Istio1.6安装和示例程序Bookinfo的配置。
使用官方命令启动k8s应用一直卡在init阶段,查看event发现拉镜像失败。毕神
原因:
k8s的镜像默认都是从谷歌拉,由于科学上网,只能借助开源项目 拉镜像,再手动tag。
解决办法:
参照
1)添加pull-google-container工具脚本 pull-google.sh:
2)扰岩放到/usr/local/bin下面:
3)使用pull-google-container命令,他直接做好image名称替换-拉image-打标签,非常省心。
如果想将LoadBalancer的类型切换到nodeport,可通过这个命令设置:
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'
之后通过私有IP+80端口的形式使用HTTP访问。
HTTP/1.1 426 Upgrade Required
Upgrade: HTTP/2.0
Connection: Upgrade
原因:
nginx反向代理默认走http 1.0版本,但是被反向代理的container走的是1.1版本
解决办法:
转发处配置支持http1.1
原因:
只对/productpage路径下的资源进行了转发,css、js等资源不在该路径下就找不到了。
解决办法:
配置 proxy_set_header 增加对css和js等资源的转发。
istiod 是一个单体应用,它用较低的复杂性提供了和之前版本一致的功能。组成旧版控制平面的服务都还以子模块的方式存在于项目之中,但提供了更好的运维体验。操作者只需关注单一二进制文件的运行和升级了。简言之,把之前复杂的控制面组件(Pilot、Gallery、Injector、Mixer和Citadel)作为内部子模块放到istiod里。
有两篇文章对istiod的内容作了介绍,讲的挺好,推荐看一下:
(译)Istiod——回到单体的理由
Service Mesh 化繁为简: 基于 Istiod 回归单体设计
阿里云服务器漏昌使用方法和其它的服务器都是一样的,没什么复内杂的啊
第一步容,登陆阿里云服春圆务器,建立iis,因为网站都是在iis上面建立的,所以iis是必需的
第二步,配置服务器环境以及安装数据库
第三步,在iis上面建立网站,并把域名绑定到该网站上面。
第扒搜塌四步,在购买域名的地方,进行域名解析,域名的解析ip地址,填写你阿里云服务器ip地址即可。
阿里云使用,第巧正樱一步购买;清慧第二步配置环境啊,那是个空主机,需要格式化安装软件,第三步上域名注册的地方解析域名把服务器ip弄过去,第四步,用工具连接服务器,把代码传上去(htdocs?)
居然有人踩孝丛我啊,我去,我今年在上新开的站点,流程刚走过,有点常识没有呀,
完成云服务器ecs创建之后的第一步是下载Xftp6。
工具:iphone12、ios14.4、ecs2.1.3。
1、下载Xftp6,进入下载页面后,选择Evaluation user / Home School user,信息随便填,下载地址会发送到你填写的邮箱,下载完成后正常安装即可。
2、进入你的阿雹冲亏里云服务器控制台,选择你的服务器实例,点击:更多——重置密码,设置你的云服务器登录密码点击远程连接。
3、第一次连接会跳出一个远程连接密码页,注意截图保存(或者拿个小本本记下),输入远程连接密码后即可连接至你的阿里云服务器了。
4、成功连接阿里云服务器后,键入任意字符,会提示你登录服务器,在login后面输入账户名:root(注意,所有人这里都是root)和刚刚设置的登录密码(密码是暗文输入,是不显示出来的,你只管输入就是了),然后会提示你登录成功!
阿里云主要产品:
1、弹性计算:
云服务器ECS:可弹性扩展、安全、稳定、易用的计算服务
块存储:可弹性扩展、高性能、高可靠的块级随机存储
专有网络VPC:帮您轻松构建逻辑隔离的专有网络
负载均衡:对多台云服务器进行流量分发的负载均衡服务
弹性伸缩:自动调整弹性计算资源的管理服务
资源编排:批量创建、管理、配置云计算资源
容器服务:应用全生命周期管理的Docker服务
高性能计算HPC:加速深度学习、渲染和科学计算的GPU物理机
批量计算:简单易用的大规模并行批处理计算服务
E-MapReduce:基于Hadoop/Spark的大数据处理分析服务
2、数据库:
云数据库RDS:完全兼容MySQL,SQLServer,PostgreSQL
云数据库MongoDB版:三节点副本集保证高可用
云数据库Redis版:兼容开源Redis协议的Key-Value类型
云数据库Memcache版:判轮在线缓存服务,为热点数据的访问提供高速响应
PB级云数据库PetaData:支持PB级海量数据存储的分布式关系型数据库
云数据库HybridDB:基于GreenplumDatabase的MPP数据仓库
云数据库OceanBase:金融级高可靠、高性能、分布式自研数据库
数据传输:比GoldenGate更易用,阿里异地多源神活基础架构
数据管理:比phpMyadmin更强大,比Navicat更易用