专栏首页飞良的学习笔记TKE外部访问apiserver
原创

TKE外部访问apiserver

首先开启外部访问

api开启外部访问

查看svc

kubectl get svc
NAME              TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)         AGE
kube-user         LoadBalancer   172.16.15.253   172.27.0.17      443:30123/TCP   40h
kubelb-internet   LoadBalancer   172.16.14.118   139.155.60.228   443:31106/TCP   46h

这两个service是用于访问集群api的的,类型loadbalancer,EXTERENAL-IP一个是内网地址,一个是外网地址。

详细的查看svc

kubectl get svc kube-user -o yaml

  labels:
    component: apiserver
    provider: kubernetes
  name: kube-user
  namespace: default
  resourceVersion: "50472"
  selfLink: /api/v1/namespaces/default/services/kube-user
  uid: d51c4d9a-6ce7-49de-a8ef-9832ac23fe8d
spec:
  clusterIP: 172.16.15.253
  externalTrafficPolicy: Cluster
  ports:
  - name: https
    nodePort: 30123
    port: 443
    protocol: TCP
    targetPort: 60002
  sessionAffinity: None
  type: LoadBalancer

可以看到没有绑定workload,外网访问kubelb-internet 也一样。这样做到作用把外部服务加入集群,这时候我们再来看endpoint,和kube-user同名

查看endpoint

kubectl get endpoints kube-user 
NAME        ENDPOINTS              AGE
kube-user   169.254.128.10:60002   40h

kubectl get endpoints kubelb-internet 
NAME              ENDPOINTS              AGE
kubelb-internet   169.254.128.10:60002   46h

169.254.128.10 是什么地址,集群内不能ping通。猜测是iptables或者ipvs用作负载均衡的地址

服务器上检查这地址

ipvsadm 查看到了地址,通过169.254.128.10负载均衡到三个master节点

这是其中一个master节点到ipvsadm

ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  139.155.60.228:https rr
  -> 169.254.128.10:60002         Masq    1      0          0         
TCP  172-27-16-13:https rr
  -> 169.254.128.10:60002         Masq    1      4          0               
TCP  172-27-16-13:https rr
  -> 169.254.128.10:60002         Masq    1      0          0 
  TCP  172-27-16-13:https rr
  -> 169.254.128.10:60002         Masq    1      0          0              
  -> 172.16.0.133:domain          Masq    1      0          0         
TCP  172.27.0.17:https rr
  -> 169.254.128.10:60002         Masq    1      0          0         
TCP  172-27-16-13:30123 rr
  -> 169.254.128.10:60002         Masq    1      57         0         
TCP  172-27-16-13:31106 rr
  -> 169.254.128.10:60002         Masq    1      122        0

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • docker,k8s简介

    镜像是docker 把程序,与之相关的包和依赖库打包成一个文件系统,是一个静态文件资源。容器是镜像的实例,是镜像运行在docker上的程序

    何飞良
  • TKE独立集群(2)

    master 上腾讯云开发的服务,简单查看服务,不深究服务的作用;master节点默认不开放22端口,这里我打开了

    何飞良
  • TKE节点池

    何飞良
  • ubuntu 选择gcc 版本

    http://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compil...

    bear_fish
  • 免费下载 80多种的微软推出入门级 .NET视频

    .NET Core 3.0视频系列中宣布了80多个新的免费视频,这些视频同时放在Microsoft的Channel 9 和youtube上面。 在线观看由于跨洋...

    张善友
  • 趋势 | JavaScript 要取代 Java 了?

    对于从未写过一行代码的人们来说,Java 编程语言可能学起来非常艰难。而为了让学生们更好轻松地学习编程,斯坦福大学认为应该采取一些极端的措施。在该校最近更新的《...

    疯狂的技术宅
  • 一日一技:实现有过期时间的LRU缓存

    在一日一技:实现函数调用结果的 LRU 缓存一文中,我们提到Python自带的LRU缓存lru_cache。通过这个装饰器可以非常轻松地实现缓存。

    青南
  • 人不如新?Uber空窗期终结,黑马掌门人Expedia CEO被选中

    大数据文摘
  • Java中Map相关的6大问题——每个开发人员都要注意

    通常情况下Map是一种数据结构组成的一组键值对,Map中的key值是唯一的;Map是开发过程中经常被用到的一种数据结构,如何正确使用它,是每个Java开发人员都...

    用户1289394
  • mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例

    mongodb11天之屠龙宝刀(六)mapreduce:mongodb中mapreduce原理与操作案例 一 Map/Reduce简介 MapReduc...

    学到老

扫码关注云+社区

领取腾讯云代金券