架构
swarm 对比
docker swarm 的架构
K8s 的架构本质类似于 swarm, 只是节点角色命名不同, k8s 使用 master 和 node 进行区分
而且 master 上提供了便携的 api 了可以进行访问
master
上 apiserver 提供外部接口支持. scheduler 调度器进行一系列算法的决策比如容器的建立具体在哪个位置等等
controller 控制器可以做扩展或者负载均衡等等, etcd 主要做状态配置等
node
对于普通的 node 节点里面有个很重要的概念 pod
pod 是一系列具有相同的 namespace 的 container 组合
最上面的 可选插件, 比如 DNS, UI, etc 等
最下面下面的 4个紫色块
- docker 用于提供容器化的技术支持
- kubelet 是作用于master 对 node 控制的相关操作
- kube-proxy 服务的发现, 负载均衡, 以及网络的代理由此部分完成
- Fluentd 日志的采集整理存储查询等
安装
Minikube
Minikube 很方便的创建一个单节点的 k8s, 注意需要 安装 kubectl 以及一个 虚拟机, 推荐 v-box
安装好之后可以使用 version 进行验证, 然后 启动命令
minkube start
进入虚拟机中
minkube ssh
kubectl
Minikube 创建的 虚机会将 kubectl 的上下文处理好. 可以通过
kubectl config view
进行查看当前的上下文信息
kubectl config get-contexts
kubectl cluster-info
pod
pod 作为 k8s 的最小的调度单位, 一个 pod 可以包含多个 container
在同一个 pod 的因为同享空间, 因此彼此是可以直接使用 localhost 进行通信的
---------------------orz 前方施工中