前言
官方中文文档: http://docs.kubernetes.org.cn/
Kubernetes组成
-
Kubernetes节点有运行应用容器必备的服务,而这些都是受Master的控制。每个节点上都要运行Docker。Docker来负责所有具体的映像下载和容器运行。
-
Kubernetes主要由以下几个核心组件组成:
etcd:保存了整个集群的状态;
apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI);
kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡;
除了核心组件,还有一些推荐的Add-ons:kube-dns:负责为整个集群提供DNS服务
Ingress Controller:为服务提供外网入口
Heapster:提供资源监控
Dashboard:提供GUI
Federation:提供跨可用区的集群
Fluentd-elasticsearch:提供集群日志采集、存储与查询
Kubernetes集群搭建
实验准备:
搭建过程需要连接网络,在物理机上添加火墙策略即可
[root@foundation6 pub]# iptables -t nat -I POSTROUTING -s 172.25.6.0/24 -j MASQUERADE
实验环境:(安装docker并开启)
- server1:172.25.6.1 (k8s-master)
- server2: 172.25.6.2 (k8s-node1)
先清理之前的环境:(之前配置过swarm集群,没有做过可以跳过)
[root@server2 ~]# docker swarm leave
Node left the swarm.
[root@server3 ~]# docker swarm leave
Node left the swarm.
[root@server1 ~]# docker swarm leave --force
[root