posted @ 2025-10-13 20:53
随笔分类 - k8s
摘要:intro k8s的service类型主要分为这几种: ClusterIP。 通过一个集群内部IP暴露服务。 NodePort。 在每个Node的IP地址的静态端口侦听(Exposes the Service on each Node's IP at a static port (the NodeP
阅读全文
摘要:intro 从内核的代码可以看到,namespace是在进程创建的时候创建,没有进程引用namespace的时候销毁。反过来说:namespace的创建要依赖进程的创建,不创建进程就没办法创建namespace。 那么这个触发创建namespace的进程从哪里来?特别是POD这种k8s引入的容器的容
阅读全文
posted @ 2025-06-21 19:49
摘要:intro 接触过docker的人都都会听说过,docker的是建立在namespace、cgroup、unionfs三个基础功能之上的。 namespace是linux内核中支持容器化的一个重要组成部分,也就是说:创建容器的时候必定会调用系统调用(syscall)来创建新的namespace。 因
阅读全文
posted @ 2025-05-28 21:30
摘要:intro 在k8s中,kubectl exec提供了登录特定容器的可观测方法。以前一直有一个印象:kubectl是通过RESTful API HTTP连接来实现,而kubectl的tty操作必然需要长连接。 这个功能是如此的重要以至于会让人忍不住思考:它是如何实现的? k8s官方网站的Contai
阅读全文
posted @ 2025-04-23 21:11
摘要:intro 在之前的测试中,如果严格限制了所有SNAT的源修改为特定IP+PORT,将所有发往本机137.0.01:8080的tcp都SNAT到127.0.0.1:40000端口。 tsecer@harry: sudo iptables -t nat -A POSTROUTING -p tcp -d
阅读全文
posted @ 2025-03-08 18:09
摘要:intro k8s网络重度依赖了linux的iptables。在iptables提供的功能中,网络地址转换(NAT—Net Address Translation)又是一个重要的功能:当POD中的container需要访问集群外的网络时,就可能需要进行源地址转换(SNAT/MASQUERADE)。
阅读全文
posted @ 2025-02-19 21:11
摘要:intro 由于k8s中的部署是声明式的:为了满足部署的需求,pod可以动态的销毁/创建/迁移等。这种飘忽不定的生命期就导致了具体提供服务的pod的IP地址(cluster ip)随之经常变化。 为了解决这个问题,k8s使用的是和DNS类似的思路,通过内部DNS服务来解决这个问题:尽管提供服务器的p
阅读全文
posted @ 2025-01-03 20:53
浙公网安备 33010602011771号