前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >kubernetes内部访问服务的方式

kubernetes内部访问服务的方式

作者头像
千灵域
发布于 2022-06-17 04:47:21
发布于 2022-06-17 04:47:21
84300
代码可运行
举报
文章被收录于专栏:challenge filterchallenge filter
运行总次数:0
代码可运行

最近因为实验室集群整体爆炸,需要修改旧服务器的网络配置。为此,需要进行一系列的网络测试。同时,这也是一个新的label系列。总是有一些代码,非常常用,但是用的时候就是找不到,想也想不起来,就非得去查。很难受。

之前做网络测试的手段太原始了(指新建ubuntu容器后登陆进去),不够灵活方便,而且也找不到代码和镜像了。为此,我总结了几个比较好的快速访问方式

方式1

最直接的方式肯定是登陆进服务内部,比如istio中提到的

在执行命令后:kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml,如果此时所有的svc和pods都跑起来了,可以通过运行kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage | grep -o "<title>.*</title>"来检测到结果。

其中的kubectl exec -it可以登陆容器并打开控制台,而服务的名称由$(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}')-c参数保证了在存在注入的情况下能正常运行。

--连接两条不同的命令,后面就不需要过多的解释了。

甚至不一定是同一个镜像,比如使用sleep镜像进行(足够小)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export SLEEP_POD=$(kubectl get pod -l app=sleep -o jsonpath={.items..metadata.name})#这里要自行加上-n=test
kubectl exec -it $SLEEP_POD -c sleep curl http://ratings.default.svc.cluster.local:9080/ratings/1
{"id":1,"ratings":{"Reviewer1":5,"Reviewer2":4}}

方式2

临时开一个curl镜像进行网络检查

官方在httpbin里也展示了如何通过curl镜像来进行内网测试(同样,注意命名空间)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl run -i --rm --restart=Never dummy --image=dockerqa/curl:ubuntu-trusty --command -- curl --silent httpbin:8000/html
kubectl run -i --rm --restart=Never dummy --image=dockerqa/curl:ubuntu-trusty --command -- curl --silent --head httpbin:8000/status/500
time kubectl run -i --rm --restart=Never dummy --image=dockerqa/curl:ubuntu-trusty --command -- curl --silent httpbin:8000/delay/5

网络测试的对象

我一开始想用hello来做,但是其实挺不好的,没什么代表性。 echo-server这个就很不错,像是一个回音壁一样,将所有的请求全部打回。 docker pull ealen/echo-server

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apiVersion: v1
kind: Namespace
metadata:
  name: echoserver
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echoserver
  namespace: echoserver
spec:
  replicas: 2
  selector:
    matchLabels:
      app: echoserver
  template:
    metadata:
      labels:
        app: echoserver
    spec:
      containers:
      - image: ealen/echo-server:0.5.1
        imagePullPolicy: Always
        name: echoserver
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: echoserver
  namespace: echoserver
spec:
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
  selector:
    app: echoserver
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: echoserver
  namespace: echoserver
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: echo.minikube.local
    http:
      paths:
      - path: /
        backend:
          serviceName: echoserver
          servicePort: 80
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Istio的流量管理(实操一)(istio 系列三)
使用官方的Bookinfo应用进行测试。涵盖官方文档Traffic Management章节中的请求路由,故障注入,流量迁移,TCP流量迁移,请求超时,熔断处理和流量镜像。不含ingress和Egree,后续再补充。
charlieroro
2020/05/20
8390
Istio边界流量-Ingress Gateway拓展用法
该应用由四个单独的微服务构成。 这个应用模仿在线书店的一个分类,显示一本书的信息。 页面上会显示一本书的描述,书籍的细节(ISBN、页数等),以及关于这本书的一些评论。
王先森sec
2023/04/24
7170
Istio边界流量-Ingress Gateway拓展用法
Istio安全-授权(实操三)
部署Bookinfo。由于下例在策略中使用了principal和namespace,因此需要启用mutual TLS。
charlieroro
2020/09/03
1.5K0
Service Mesh · Istio · 以实践入门
本文是笔者在学习官方文档、相关博客文章和实践过程中,整理了一些知识概念和自己的思考,主要在探索 lstio 的实际应用场景, Sidecar 原理, Service Mesh 为什么出现、要解决什么问题等,帮助我们思考微服务技术架构的升级和落地的可行性。
heidsoft
2020/02/25
1.1K0
Service Mesh · Istio · 以实践入门
Service Mesh - Istio流量控制篇(下)
部署 httpbin 服务,同样,官方demo已经提供了该配置文件,执行如下命令应用即可:
端碗吹水
2020/12/23
1K0
Service Mesh - Istio流量控制篇(下)
istio流量路由小试牛刀
下载https://github.com/istio/istio/releases/download/1.18.2/istio-1.18.2-osx-arm64.tar.gz
code4it
2023/07/27
2680
istio流量路由小试牛刀
Istio 入门(五):访问控制和流量管理
主要演示了使用 Istio Gateway、VirtualService 对外暴露服务的访问地址 ,以及基于 Istio 实现可观察性的 Kiali 组件。让我们回在上一章中部署的 bookinfo 示例已经学习了什么:
痴者工良
2023/07/24
9820
Istio 入门(五):访问控制和流量管理
Istio 入门(三):体验 Istio、微服务部署、可观测性
在本章中,我们正式迈入学习 Istio 的第一步。因为 Istio 的知识体系是较为庞大的,因此我们可以先通过本章的入门教程快速了解如何使用 Istio 部署一套微服务,以及 Istio 核心功能的使用方法,了解 Istio 可以为微服务解决什么问题。
痴者工良
2023/07/24
1.9K0
Istio 入门(三):体验 Istio、微服务部署、可观测性
mac 上学习k8s系列(36)istio part IV 内外路由和故障注入
下面以bookingo为例介绍下如何实现上述功能的。Bookinfo这个示例应用由4个独立的微服务组成
golangLeetcode
2022/08/02
3400
mac 上学习k8s系列(36)istio part IV 内外路由和故障注入
Kong入口控制器和服务网格:Kubernetes设置入口到Istio
Kubernetes已经成为在服务中编排容器和服务的实际方法。但是我们如何让集群外部的服务访问集群内部的内容呢?Kubernetes附带了Ingress API对象,用于管理对集群内服务的外部访问。
CNCF
2020/03/24
3.4K0
Kong入口控制器和服务网格:Kubernetes设置入口到Istio
Istio从A到Y
Istio 是一款开源服务网格,允许您连接、保护、控制和观察应用程序的服务。我们将了解如何安装 Istio,以及如何使用它来保护和监控我们的服务。
云云众生s
2024/07/21
4940
Istio从A到Y
istio流量路由小试牛刀
下载https://github.com/istio/istio/releases/download/1.18.2/istio-1.18.2-osx-arm64.tar.gz
code4it
2023/08/31
2560
istio流量路由小试牛刀
kubernetes服务:学习ingress与暴露服务简单实验
实验室集群中已经有一个ingress-controller,ingress.class为nginx。 本次实验的目标是将服务通过ingress暴露到外部服务,最好能够直接通过外网IP访问。
千灵域
2022/06/17
3800
四, 跨语言微服务框架 - Istio官方示例(超时控制,熔断器,流量复制)
基础的Istio环境已经搭建完成,我们需要开始了解Istio提供作为微服务网格的各种机制,也就是本文标题的(超时控制,熔断器,流量复制,速率控制)官方很给力的准备的实例项目也不需要大家自己编写demo来进行测试,那就来时跑跑看吧.
喵了个咪233
2019/05/26
1.1K0
初探 Istio Ambient 模式
Ambient 是 Istio 刚刚宣布支持的一种新的数据面模式,在本篇文章中,我们将尝试安装 Istio 的 ambient 模式,并采用 bookinfo demo 来体验 ambient 提供的 L4 和 L7 能力。
赵化冰
2022/09/28
8030
初探 Istio Ambient 模式
使用KubeSphere轻松部署Bookinfo应用
这个示例部署了一个用于演示多种 Istio 特性的应用,该应用由四个单独的微服务构成。
JavaEdge
2024/01/11
3080
使用KubeSphere轻松部署Bookinfo应用
Istio 使用 Gateway API 实现流量管理
Gateway API 是由 SIG-NETWORK 社区管理的开源项目,项目地址:https://gateway-api.sigs.k8s.io/。主要原因是 Ingress 资源对象不能很好的满足网络需求,很多场景下 Ingress 控制器都需要通过定义 annotations 或者 crd 来进行功能扩展,这对于使用标准和支持是非常不利的,新推出的 Gateway API 旨在通过可扩展的面向角色的接口来增强服务网络。
我是阳明
2023/12/26
6870
Istio 使用 Gateway API 实现流量管理
小白带你去上云-容器服务网格实践
随着容器技术、微服务架构的普及,越来越多的团队开始走向Service mesh之路。
白鹏飞
2021/03/03
9170
小白带你去上云-容器服务网格实践
在 Istio 服务网格内连接外部 MySQL 数据库
为了方便理解,以 Istio 官方提供的 Bookinfo 应用示例为例,利用 ratings 服务外部 MySQL 数据库。
万猫学社
2022/12/01
1.9K0
在 Istio 服务网格内连接外部 MySQL 数据库
10个 Istio 流量管理 最常用的例子,你知道几个?
为了方便理解,以Istio官方提供的Bookinfo应用示例为例,引出 Istio 流量管理的常用例子。
万猫学社
2022/12/01
4030
10个 Istio 流量管理 最常用的例子,你知道几个?
相关推荐
Istio的流量管理(实操一)(istio 系列三)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验