![](https://img-blog.csdnimg.cn/20210427173102503.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
容器
文章平均质量分 80
分享容器化之类的知识帖子,例如Docker、K8S等等
Impl_Sunny
这个作者很懒,什么都没留下…
展开
-
Kubernetes网络-Flannel网络
一、简介Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。在默认的Docker配置中,每个节点上的Docker服务会分别负责所在节点容器的IP分配。这样导致的一个问题是,不同节点上容器可能获得相同的内外IP地址。并使这些容器之间能够之间通过IP地址相互找到,也就是相互ping通。Flannel的设计目的就是为集群中的所有节点重新规划IP地址的使用规则,从而使得不同节点上的原创 2021-05-17 17:30:10 · 453 阅读 · 1 评论 -
Kubernetes-网络之设计与实现
一、Kubernetese网络设计1.每个Pod都拥有一个独立IP地址,Pod内所有容器共享一个网络命名空间2.集群内所有Pod都在一个直接连通的扁平网络中,可通过IP直接访问(1)所有容器之间无需NAT就可以直接互相访问(2)所有Node和所有容器之间无需NAT就可以直接互相访问(3)容器自己看到的IP跟其他容器看到的一样二、Kubernetese网络要求K8s对网络的要求总的来讲主要有两个最基本的要求,分别是:要能够为每一个Node上的Pod分配互相不冲突的I....原创 2021-05-17 17:12:00 · 281 阅读 · 0 评论 -
Kubernetes网络三部曲之三 ~ NodePort vs LoadBalancer vs Ingress
前言在上一篇《Kubernetes网络三部曲~Service网络》中,讲解了K8s的4层网络栈中的第2层Service网路。有了Service网络,K8s集群内的应用可以通过服务名/ClusterIP进行统一寻址和访问,而不需要关心应用集群中到底有多少个Pods,Pod的IP是什么,会不会变化,以及如何以负载均衡方式去访问等问题。但是,K8s的Service网络只是一个集群内部网络,集群外部是无法直接访问的。而我们发布的应用,有些是需要暴露出去,要让外网甚至公网能够访问的,这样才能对外输出业务价值。K8转载 2021-05-17 17:04:45 · 758 阅读 · 0 评论 -
Kubernetes网络三部曲之二~Service网络
前言在上一篇《Kubernetes网络三部曲~Pod网络》中,讲解了K8s的4层网络中的第1层Pod网络。有了Pod网络,K8s集群内的所有Pods在逻辑上都可以看作在一个平面网络内,可以正常IP寻址和互通。但是Pod仅仅是K8s云平台中的虚拟机抽象,最终,我们需要在K8s集群中运行的是应用或者说服务(Service),而一个Service背后一般由多个Pods组成集群,这时候就引入了服务发现(Service Discovery)和负载均衡(Load Balancing)等问题,这就是第2层Servic转载 2021-05-17 16:57:55 · 193 阅读 · 0 评论 -
Kubernetes网络三部曲之一~Pod网络
前言K8s是一个强大的平台,但它的网络比较复杂,涉及很多概念,例如Pod网络,Service网络,Cluster IPs,NodePort,LoadBalancer和Ingress等等,这么多概念足以让新手望而生畏。但是,只有深入理解K8s网络,才能为理解和用好K8s打下坚实基础。为了帮助大家理解,模仿TCP/IP协议栈,我把K8s的网络分解为四个抽象层,从0到3,除了第0层,每一层都是构建于前一层之上,如下图所示:第0层Node节点网络比较好理解,也就是保证K8s节点(物理或虚拟机)之间能够正常I转载 2021-05-17 16:52:02 · 266 阅读 · 0 评论 -
Kubernetes架构
前言理解K8s的架构是运用好K8s的基础,先会对K8s的架构进行一个概览,然后分别剖析Master和Worker节点的组件构成,然后把这些组件再集成起来,通过一个发布样例展示这些组件是如何配合工作的,最后展示K8s集群的总体架构。架构概览上图是K8s架构的概览。K8s集群中主要有两类角色,一类是Master节点,另外一类是Worker节点,简单讲,Master节点主要用来管理和调度集群资源的,而Worker节点则是提供资源的。在一个高可用的K8s集群中,Master和Worker一般都有多转载 2021-05-17 16:40:13 · 122 阅读 · 0 评论 -
通过docker image 获取到 dockerfile
docker history --format {{.CreatedBy}} --no-trunc=true $DockerImage |sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac--format {{.CeratedBy}}:只输出 CREATE BY 这一列--no-trunc=true:完成输出命令sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\...原创 2021-04-27 17:34:27 · 632 阅读 · 0 评论