暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
38丨从外界连通Service与Service调试“三板斧”.pdf
171
14页
0次
2023-07-26
10墨值下载
38 | 从外界连通ServiceService调试三板斧
2018-11-19 张磊
深入剖析Kubernetes
进入课程
讲述:张磊
时长 11:03 大小 5.07M
你好,我是张磊。今天我和你分享的主题是:从外界连通 Service 与 Service 调试“三板
斧”。
在上一篇文章中,我为你介绍了 Service 机制的工作原理。通过这些讲解,你应该能够明白
这样一个事实:Service 的访问信息在 Kubernetes 集群之外,其实是无效的。
这其实也容易理解:所谓 Service 的访问入口,其实就是每台宿主机上由 kube-proxy 生
成的 iptables 规则,以及 kube-dns 生成的 DNS 记录。而一旦离开了这个集群,这些信
息对用户来说,也就自然没有作用了。
所以,在使用 Kubernetes 的 Service 时,一个必须要面对和解决的问题就是:如何从外部
(Kubernetes 集群之外),访问到 Kubernetes 里创建的 Service?
下载APP
这里最常用的一种方式就是:NodePort。我来为你举个例子。
在这个 Service 的定义里,我们声明它的类型是,type=NodePort。然后,我在 ports 字
段里声明了 Service 的 8080 端口代理 Pod 的 80 端口,Service 的 443 端口代理 Pod 的
443 端口。
当然,如果你不显式地声明 nodePort 字段,Kubernetes 就会为你分配随机的可用端口来
设置代理。这个端口的范围默认是 30000-32767,你可以通过 kube-apiserver 的–
service-node-port-range 参数来修改它。
那么这时候,要访问这个 Service,你只需要访问:
就可以访问到某一个被代理的 Pod 的 80 端口了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apiVersion: v1
kind: Service
metadata:
name: my-nginx
labels:
run: my-nginx
spec:
type: NodePort
ports:
- nodePort: 8080
targetPort: 80
protocol: TCP
name: http
- nodePort: 443
protocol: TCP
name: https
selector:
run: my-nginx
复制代码
1 < 任何一台宿主机的 IP 地址 >:8080
复制代码
of 14
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文档被以下合辑收录

深入剖析Kubernetes(共51篇)
课程介绍 过去几年,以 Docker、Kubernetes 为代表的容器技术已发展为一项通用技术,BAT、滴滴、京东、头条等大厂,都争相把容器和 K8S 项目作为技术重心,试图“放长线钓大鱼”。 但容器技术本身偏向运维,namespace 资源隔离、cgroups 资源限制等概念,对开发者来说,理解起来比较困难。尤其在实施 K8S 落地时,总有一些问题被反复提及,比如: 为什么容器里只能跑“一个进程”? 之前一直用的某个 JVM 参数,在容器里怎么不好使了? 为什么 Kubernetes 不能固定 IP 地址?容器网络连不通,该如何 Debug? K8S 中 StatefulSet 和 Operator 到底什么区别?PV 和 PVC 又该怎么用? 这些问题的答案和原理并不复杂,但很难一两句话解释清楚。因为容器技术涉及操作系统、网络、存储、调度、分布式原理等方方面面的知识,是个名副其实的全栈技术。 而其技术体系里那些“牵一发而动全身”的主线,比如 Linux 进程模型对容器本身的重要意义,“控制器”模式对整个 K8S 项目提纲挈领的作用等等,不会详细展现在 Docker 或 Kubernetes 官方文档中,但它们才是掌握容器技术体系的精髓所在,这也是张磊的《深入剖析 Kubernetes》专栏的核心内容。 张磊花费数月时间,经过多次改版,构建出如今的知识框架,适合所有初学者和进阶容器技术的伙伴,帮你逐层理清容器背后的技术本质与设计思想,并结合对其核心特性的剖析与实践,加深你对容器技术的理解。 本专栏共包括如下四大模块: 1. “白话”容器技术基础:用饶有趣味的解说,梳理容器技术生态的发展脉络,讲述容器技术的来龙去脉与实现原理,让你知其然,并且知其所以然。 2. Kubernetes 集群的搭建与实践:以浅显易懂的语言,讲述 Kubernetes 集群背后的原理,并从 0 开始搭建一套 Kubernetes 集群,带你领略 Kubernetes 集群的“一键安装”。 3. 容器编排与 Kubernetes 核心特性剖析:这个模块从分布式系统设计的视角出发,归纳出这些特性中体现出来的普遍方法,然后再逐一阐述 Kubernetes 项目关于编排、调度和作业管理的各项核心特性。 4. Kubernetes 开源社区与生态:磊哥会带你思考如何同团队一起平衡内外部需求,逐渐成为社区中不可或缺的一员。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜