k8s 使用 traefik 将clusterIP的 svc 暴露服务的方法
0. 前置条件
安装好k8s..
traefik的简介图

1. 安装 traefik
方法:
创建一个目录 并且存放部分文件等. mkdir /traefik cd /traefik git clone https://github.com/containous/traefik.git cd traefik/examples/k8s/
里面的文件主要有偶:
[root@CentOS75 k8s]# tree
.
├── cheese-default-ingress.yaml
├── cheese-deployments.yaml
├── cheese-ingress.yaml
├── cheese-services.yaml
├── cheeses-ingress.yaml
├── traefik-deployment.yaml
├── traefik-ds.yaml
├── traefik-rbac.yaml
└── ui.yaml
这里面不需要 全部使用, 只需要 example 里面的 两个即可
一个是rbac文件 一个是 deployment或者是 ds 文件即可
分别进行创建
kubectl apply -f traefik-rbac.yaml
kubectl apply -f traefik-deployment.yaml
创建完成之后查看 服务
get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> /UDP,/TCP 6d
kubernetes-dashboard NodePort 10.111.89.164 <none> :/TCP 5d
tiller-deploy ClusterIP 10.111.62.105 <none> /TCP 4d
traefik-ingress-service NodePort 10.111.143.164 <none> :/TCP,:/TCP 46m
traefik-web-ui ClusterIP 10.100.235.138 <none> /TCP 41m
看到主要有两个服务 然后用 8080 端口对应的 61087 (这个端口是任意的.. 不过也可以在 deployment 里面指定nodeport)
2. 管理界面查看
我这里面的查询地址显而易见的是:
http://10.24.104.1:61087/dashboard/
效果
请忽略我已经生成的内容.

这里面能够看到挺多的内容了..
3. bookinfo的显示效果.
我这边使用 创建了 istio 的 bookinfo的样例.
如图

但是因为是clusterip 我外部机器无法访问, 所以使用 traefik 进行暴露服务
方法 创建一个 yaml文件 我这边简单的内容为:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: istiozhaobsh
namespace: default
spec:
rules:
- host: istio.zhaobsh.com
http:
paths:
- path: /
backend:
serviceName: productpage
servicePort:
直接创建服务 查看ui管理界面

4. 我自己的windows机器办公访问
方法:
修改 /etc/hosts 文件 增加部分内容

然后使用浏览器查看
一定要注意 我选中的这里的端口

这个端口的来源
我这边使用的样例是 nodeport的 很多笔记里面没有写 浪费了至少one hour 自己对k8s的理解 还是不够深入, 总是浪费时间..

k8s 使用 traefik 将clusterIP的 svc 暴露服务的方法的更多相关文章
- Kubernetes 系列(三):Kubernetes使用Traefik Ingress暴露服务
一.Kubernetes 服务暴露介绍 从 kubernetes 1.2 版本开始,kubernetes提供了 Ingress 对象来实现对外暴露服务:到目前为止 kubernetes 总共有三种暴露 ...
- k8s入坑之路(13)服务迁移(定时任务 微服务 传统服务)
定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPS ...
- 不能暴露服务给外部环境,因为nginx-ingress-control启动失败
不能暴露服务给外部环境,因为nginx-ingress-control启动失败 待办 rancher 和k8s中的端口冲突,nginx-ingress-control都需要使用80端口 以及443端口 ...
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc ...
- Dubbo中暴露服务的过程解析
dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay="5000"),另外一种是没有设置延迟暴露或者延迟设置为-1(delay="-1"): 设置 ...
- WCF无.SVC文件服务激活,及不添加服务引用调用WCF
一,新建WCF服务引用程序 1,删除.svc文件,全部删除. 2,新建 IService 类 namespace TestWcf { [ServiceContract] public interfac ...
- Kubernetes部署SpringCloud(三) 使用 Ingress-nginx 暴露服务
之前部署的zuul以及basic-info-api 都仅仅在于flannel 网络内可以访问. 现在来使用Ingress-nginx 对外暴露服务 以下用到的一些docker镜像,是存在我私有仓库的, ...
- Dubbo 暴露服务
1. 引入dubbo依赖 dubbo 依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId&g ...
- 国内不fq安装K8S四: 安装过程中遇到的问题和解决方法
目录 4 安装过程中遇到的问题和解决方法 4.1 常见问题 4.2 常用的操作命令 4.3 比较好的博客 国内不fq安装K8S一: 安装docker 国内不fq安装K8S二: 安装kubernet 国 ...
随机推荐
- yarn的学习-2-从 npm 迁移到 yarn-包管理工具
从npm处迁移过来多许多用户来说是一个相对简单的过程.yarn能想npm一样定制相同的package.json,并能够从npm仓库下载任意的包 如果你想要在已存在的npm项目中使用yarn,运行yar ...
- [转]OpenGL通过VBO实现顶点数组绘制顶点
#include "stdlib.h" #include <OpenGL/glext.h> #include <GLUT/GLUT.h> #define B ...
- C++之new和delete操作符
在C语言中的动态分配和释放内存的函数是malloc calloc 和 free , 而在C++中要用 new new[] delete delete[] 来申请动态空间和释放空间. 注意:的是new. ...
- POJ 1904 King's Quest(SCC的巧妙应用,思维题!!!,经典题)
King's Quest Time Limit: 15000MS Memory Limit: 65536K Total Submissions: 10305 Accepted: 3798 Ca ...
- day39
今日内容: 1.对于表,库,记录的基本操作 2.数据库引擎的了解 3.表的详细 4.数据类型的掌握 1.回顾昨日对于表,库,记录的基本操作 库 增: create database mydb2; 删: ...
- php初进一个项目组,使用几个函数帮忙熟悉流程
初进一个项目组的时候,可能对他的框架啊神马不熟悉的.有时候类里又有各种魔术方法的使用,IDE还跳转不过去对象的方法.这时候很多php内置函数就可以帮上些忙了. 1. instanceof 2. get ...
- EXCEL2007出错了无法使用文档中的ActiveX 控件
EXCEL2007出错了无法使用文档中的ActiveX 控件虽说是很久之前的问题,但是正确的解决方法和原因如下!原因:系统update之后出现的问题解决方法:删除C:\Users\[username] ...
- TensorFlow入门
Win10下pycharm安装tensorflow: 1.安装git,这样就会有windows powerShell 2.安装python3.x,配置环境变量 3.安装pip,下载地址是:https: ...
- maven使用出现的错误
修改mvn archetype:create 改成mvn archetype:generate 刚开始学习用Maven, 装好了以后生成一个新的project mvnarchetype:genera ...
- Python3入门(六)——函数式编程
一.高阶函数 1.可以通过变量指向函数,达到类似别名的效果: >>> f = abs >>> f(-10) 10 2.函数的参数可以是函数,也就是函数可以作为一个入 ...