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/

里面的文件主要有偶:

[[email protected] 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>        53/UDP,53/TCP                 6d
kubernetes-dashboard      NodePort    10.111.89.164    <none>        80:31000/TCP                  5d
tiller-deploy             ClusterIP   10.111.62.105    <none>        44134/TCP                     4d
traefik-ingress-service   NodePort    10.111.143.164   <none>        80:44209/TCP,8080:61087/TCP   46m
traefik-web-ui            ClusterIP   10.100.235.138   <none>        80/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: 9080

直接创建服务 查看ui管理界面

4.  我自己的windows机器办公访问

方法:

修改 /etc/hosts 文件  增加部分内容

然后使用浏览器查看

一定要注意 我选中的这里的端口

这个端口的来源

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

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9487180.html

时间: 2024-11-03 07:09:58

k8s 使用 traefik 将clusterIP的 svc 暴露服务的方法的相关文章

[k8s集群系列-10]Kubernetes Service暴露方式及Traefik使用

访问部署在kubernetes集群中服务,有两种类型: 集群内部实现访问 集群外部实现访问 但是不管是集群内部还是外部访问都是要经过kube-proxy的 集群内部实现访问 ClusterIP Clusterip是集群内部的私有ip,在集群内部访问服务非常方便,也是kuberentes集群默认的方式,直接通过service的Clusterip访问,也可以直接通过ServiceName访问.集群外部则是无法访问的. 示例 **创建nginx服务,提供web服务z nginx-ds.yaml api

K8s之traefik(ingess)发布服务-实战

K8s之traefik(ingess)发布服务实战 上篇描述了基于k8s集群安装部署traefik作为ingress服务,简单演示了一下发布服务,本篇将细节讲述如果结合traefik发布业务服务. 安装部署参考: https://blog.51cto.com/michaelkang/2429929 版本介绍 traefik:v1.7 k8s:v1.15.1 快速部署traefik 如果你的k8s集群已经部署完成,想快速部署traefik,执行命令如下: kubectl create -f htt

kubernetes 暴露服务端口的几种方式

kubernetes 暴露服务端口的几种方式 如果希望将 Service 暴露在一个外部IP地址上. Kubernetes 支持4种实现方式,详细如下: 1:集群内部实现访问:Clusterip Clusterip是集群内部的私有ip,在集群内部访问服务非常方便,也是kuberentes集群默认的方式,直接通过service的Clusterip访问,也可以直接通过ServiceName访问.集群外部则是无法访问的. 2:集群外部方式访问:NodePort NodePort在kubenretes里

不能暴露服务给外部环境,因为nginx-ingress-control启动失败

不能暴露服务给外部环境,因为nginx-ingress-control启动失败 待办 rancher 和k8s中的端口冲突,nginx-ingress-control都需要使用80端口 以及443端口所以需要安装在不同的位置,因为nginx-ingress-control是端口暴露转换的入口如果这个组件启动失败会导致服务不能暴露到外部环境 https://blog.csdn.net/weixin_30832405/article/details/94976166 集群中必须运行nginx-ing

通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件【转】

现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc+spring+zookeeper+dubbo 项目分三层,model存放数据,view页面展示.controller下面具体逻辑实现.通过dubbo消费方和供应方注册,供应方给消费方暴露接口,供消费方调用. 工程部署需要配置文件有: applicationContext-dubbo.xml {--

Dubbo点滴(4)之暴露服务解析

Dubbo点滴(1) SPI入门 :了解下底层DUBBO底层扩展保证 Dubbo点滴(2)之集群容错:简单分析了DUBBO对高可用的保证手段 Dubbo点滴(3)之服务配置ServiceConfig:了解DUBBO相关元数据与对象 本节内容主要了解下DUBBO服务端的暴露服务过程. 吐下槽,这个Exporter命名个人感觉不好. Export,在DUBBO中既代表暴露过程,这儿是动作,对应export方法. 同时,Exporter接口,却代表着暴露的信息,比如URL. 总之,在研究过程中,对自己

Dubbo中暴露服务的过程解析

dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay="5000"),另外一种是没有设置延迟暴露或者延迟设置为-1(delay="-1"): 设置了延迟暴露,dubbo在Spring实例化bean(initializeBean)的时候会对实现了InitializingBean的类进行回调,回调方法是afterPropertySet(),如果设置了延迟暴露,dubbo在这个方法中进行服务的发布. 没有设置延迟或者延迟为-1,dubbo会在Spring实例

dubbo源码学习(五)dubbo暴露服务的过程

初学dubbo的源码,只做尝试性的去学习,做为自己学习的一个记录,各位看官如果觉得写的有错误或理解的不对,请在留言区告诉我,互相学习.本人能力有限,有大神进入 时请指点. dubbo采用的nio异步的通信,通信协议默认为 netty,当然也可以选择 mina,grizzy.在服务端(provider)在启动时主要是开启netty监听,在zookeeper上注册服务节点,处理消费者请求,返回处理后的消息给消费者,消费者使用服务时主要是订阅服务的节点,监听zookeeper节点目录,服务端的变化时z

WCF无.SVC文件服务激活,及不添加服务引用调用WCF

一,新建WCF服务引用程序 1,删除.svc文件,全部删除. 2,新建 IService 类 namespace TestWcf { [ServiceContract] public interface IService { [OperationContract] string DoWork(); } } 3,实现接口类 Service类 namespace TestWcf { public class Service : IService { public string DoWork() {