int32bit's Blog

分享几个Kubernetes实用插件和工具

前两周分享了两篇文章Kubernetes与IaaS资源融合实践、IPVS从入门到精通kube-proxy实现原理,这两篇都和网络有关,只要和网络有关就离不开要分析各种iptables、路由规则、策略路由,非常烧脑,如果不搞个真实环境演练下,真的很难搞清楚。 这篇文章走的是休闲路线,主要分享几个个人认为比较有用的工具,不用费脑,仅供参考 :) Kubectl插件 关于kubectl插件 ...

如何读取Kubernetes存储在etcd上的数据

etcd是一个分布式KV存储系统,在分布式系统中被广泛使用,Kubernetes就是使用了etcd存储持久化数据,包括创建的所有Pod、Deployment、Service等资源。 接下来我们看下如何读取Kubernetes存的数据。 首先如果使用kubeadm部署Kubernetes,默认会把CA根证书和签发的Server证书放在/etc/kubernetes/pki/etcd目录下,...

IPVS从入门到精通kube-proxy实现原理

1 kube-proxy介绍 1.1 为什么需要kube-proxy 我们知道容器的特点是快速创建、快速销毁,Kubernetes Pod和容器一样只具有临时的生命周期,一个Pod随时有可能被终止或者漂移,随着集群的状态变化而变化,一旦Pod变化,则该Pod提供的服务也就无法访问,如果直接访问Pod则无法实现服务的连续性和高可用性,因此显然不能使用Pod地址作为服务暴露端口。 解决这个...

Kubernetes与IaaS资源融合实践--以AWS为例

1 前言 我们知道Kubernetes是强大的声明式容器编排工具,而计算、存储、网络等功能均是通过以接口的形式暴露、以插件的形式实现,这种灵活开放的设计理念使Kubernetes非常容易集成外部工具扩展和强化功能。而IaaS云平台提供的核心功能就是计算、存储和网络,这意味着Kubernetes与IaaS云平台并不是独立割裂的,而是天然非常适合结合在一起,功能和职责互补,二者联合起来既能充分...

混合云编排工具Terraform简介

1 Terraform背景 1.1 混合云编排 目前各大公有云以及云管理平台均提供了非常友好的交互界面,用户可以像超市买东西一样自助采购云资源。然而,当用户需要批量快速打包采购大量不同类型的云资源时,云管页面过多的交互反而降低了资源采购效率。 据统计,一个熟悉AWS页面操作的工程师,在AWS上初始化一个VPC包括创建VPC、子网、internet网关、NAT网关、路由等工作至少需要花费...

浅聊几种主流Docker网络的实现原理

一、容器网络简介 容器网络主要解决两大核心问题:一是容器的IP地址分配,二是容器之间的相互通信。本文重在研究第二个问题并且主要研究容器的跨主机通信问题。 实现容器跨主机通信的最简单方式就是直接使用host网络,这时由于容器IP就是宿主机的IP,复用宿主机的网络协议栈以及underlay网络,原来的主机能通信,容器也就自然能通信,然而带来的最直接问题就是端口冲突问题。 因此通常容器会配置...

OpenStack容器服务Zun初探与原理分析

1 Zun服务简介 Zun是OpenStack的容器服务(Containers as Service),类似于AWS的ECS服务,但实现原理不太一样,ECS是把容器启动在EC2虚拟机实例上,而Zun会把容器直接运行在compute节点上。 和OpenStack另一个容器相关的Magnum项目不一样的是:Magnum提供的是容器编排服务,能够提供弹性Kubernetes、Swarm、Mes...

如何探测虚拟化环境是物理机、虚拟机还是容器?

目前裸机(物理机)、虚拟机、容器是云计算提供计算服务的三种主流形式。最近有人问,如何判断一个虚拟shell环境到底是物理机、虚拟机还是容器? 更进一步,如果是物理机,这个物理机厂商是什么,虚拟机到底是KVM还是XEN,容器是Docker还是rkt、lxc等? 更进一步,如果是虚拟机,是否可以判断这个虚拟机是运行在AWS还是阿里或者OpenStack,是否能够获取虚拟机的UUID、inst...

深入浅出OpenStack安全组实现原理

众所周知,OpenStack安全组默认是通过Linux iptables实现的,不过发现目前还是很少有深入细节解析OpenStack安全组实现,于是在下班时间花了几个小时时间重新梳理了下,顺便记录下。 1 iptables简介 1.1 iptables概述 在介绍OpenStack安全组前先简单介绍下iptables,其实iptables只是一个用户空间的程序,真正干活的其实是Linu...

如何阅读OpenStack源码(更新版)

1 OpenStack介绍 OpenStack是一个开源的IaaS实现方案,企业构建私有云的主流选择之一。截至到2019年4月,OpenStack已经有9年的发展历史了,最新发布的版本为第19个版本,代号为Stein,下一个版本Train目前已经处于开发阶段,预计今年10月发布。 最初OpenStack只有两个子项目,分别为Nova和Swift,其中Nova不仅提供计算服务,还包含了网络...