架构示意图

envoy需要使用到CONTOUR,所以我们先部署CONTOUR,官网

1)使用快速部署

kubectl apply -f https://projectcontour.io/quickstart/contour.yaml

2)创建一个简单的demo范例

我这里使用的httpproxy高级路由管理,比较强大,可以自定义很多的规则。

apiVersion: projectcontour.io/v1kind: HTTPProxymetadata:  name: httpproxy-demo  namespace: defaultspec:  virtualhost:    fqdn: www.ik8s.io   #定义虚拟主机名,一般设置你的域名    tls:    #设置https访问协议      secretName: ik8s-tls      #这个secret需要你提前创建好的,tls这一块如果不需要可以注释掉。      minimumProtocolVersion: "tlsv1.1"   #这是兼容的tls最低版本  routes:  - conditions:    - prefix: /    services:    - name: demoapp-deploy      port: 80    permitInsecure: true    #是否重定向到https协议,你也可以理解为是否强制https,true是不强制https,就是你访问http也可以https也可以,如果是false到话你访问http到话会强制跳转到https#注意如果直接采用访问IP地址的话可能会访问不同,建议通过域名访问。

3)测试

#部署kubectl apply -f httpproxy-demo.yaml#查看envoy映射的端口,下面会用到kubectl get svc -n projectcontourNAME      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGEcontour   ClusterIP      10.107.197.123   <none>        8001/TCP                     103menvoy     LoadBalancer   10.102.101.40    <pending>     80:30651/TCP,443:32481/TCP   103m#访问[root@master1 chapter13]# curl http://www.ik8s.io:30651iKubernetes demoapp v1.0 !! ClientIP: 10.244.135.57, ServerName: deployment-demo-fb544c5d8-s8wh8, ServerIP: 10.244.135.53![root@master1 chapter13]#  curl -k https://www.ik8s.io:32481iKubernetes demoapp v1.0 !! ClientIP: 10.244.104.15, ServerName: deployment-demo-fb544c5d8-2242p, ServerIP: 10.244.166.184!

注意⚠️:以上所使用的demo采用的是马哥的教学demo,如有需要我已经放在我的公众号上了。可前往公众号「自在拉基」回复envoy获取demo pod。

4)问题

上面所使用的域名需要你们自行配置dns或者修改测试机上的host文件,如果通过ip访问的话会有可能访问不了,域名是没问题的。

©著作权归作者所有:来自51CTO博客作者自在拉基的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. js2 解构,访问器属性
  2. JS中的值传递,模板字面量,数组、对象、传参解构,访问器属性
  3. centos 配置DNS
  4. 优盘提示位置不可用无法访问,磁盘结构损坏且无法读取咋办???
  5. Nginx反向代理Tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENG
  6. 【DB宝36】使用Docker分分钟搭建漂亮的prometheus+grafana监控
  7. 数组,对象,传参解构; 访问器属性的get,set操作
  8. 宝塔面板非https站点使用https访问跳转其他网站内容的处理办法
  9. 闪存出现“位置不可用无法访问函数不正确”的解决方法

随机推荐

  1. 单击保存按钮(PHP和MSQL)时如何保存记录列
  2. 根据网址上的国家/地区将用户重定向到正
  3. 今天开始学php,第一次写博客以鼓励自己能
  4. smarty模板引擎变量的传递方法
  5. 获取所有网站的错误,[重复]
  6. jquery ajax在调用之后将无法工作
  7. 在Capistrano任务中引用当前服务器
  8. 在simplexml_load_file中加载url时出错
  9. 《PHP核心技术与最佳实践》P37中间有一句
  10. php把从数据库读取出来的数据存放到数组