自动包装
根据资源需求和其他约束自动放置容器,同时不会牺牲可用性,混合关键和最大努力的工作负载,以提高资
源利用率并节省更多资源。
横向缩放
使用简单的命令或 UI,或者根据 CPU 的使用情况自动调整应用程序副本数
自动部署和回滚
Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有
实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。
存储编排
自动安装您所选择的存储系统,无论是本地存储,如公有云提供商 GCP 或 AWS , 还是网络存储系统 NFS,
iSCSI, Gluster, Ceph, Cinder, 或 Flocker
自我修复
重新启动失败的容器,在节点不可用时,替换和重新编排节点上的容器,终止不对用户定义的健康检查做出
响应的容器,并且不会在客户端准备投放之前将其通告给客户端。
服务发现和负载均衡
不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容
器的单个 DNS 名称,并可以在它们之间进行负载均衡。
密钥和配置管理
部署和更新密钥和应用程序配置,不会重新编译您的镜像,不会在堆栈配置中暴露密钥(secrets)。
批处理
除了服务之外,Kubernetes还可以管理您的批处理和 CI 工作负载,如果需要,替换出现故障的容器。
使用Kubernetes能做什么
Kubernetes 是一个全新的基于容器技术的分布式架构领先方案(源于Brog,是google十几年经验的结晶);
Kubernetes是一个开放的开发平台(无侵入性,现有系统很容器迁移到Kubernetes上);Kubernetes是一个完备
的分布式系统支撑平台(完善的集群管理能力)。
使用Kubernetes可以在物理或虚拟机的Kubernetes集群上运行容器化应用,Kubernetes能够提供一个以容器为中
心的基础架构,满足在生产环境中运行应用的一些常见需求,如:
多个进程协同工作
存储系统挂载
Distributing secrets
应用健康检测
应用实例的复制
Pod 自动伸缩/扩展
Naming and discovering
负载均衡
滚动更新
资源监控
日志访问
调度应用程序
提供认证和授权
为什么使用Kubernetes
使用Kubernetes最直接的感受就是我们可以轻装上阵的开发复杂的系统了;其次Kubernetes是在全面拥抱微服务
架构(微服务的核心就是将一个巨大的单体应用拆分成很多小的互相连接的微服务,一个微服务后面可能是多个实
例副本在支撑,副本数量可以随着系统负荷的变化而动态调整);最后Kubernetes系统架构具备超强的横向扩展
能力
1.1.2 Kubernetes快速入门
关闭 CentOS防火墙
systemctl disable firewalld
systemctl stop firewalld
安装etcd 和Kubernetes 软件
启动服务
systemctl start etcd
systemctl start docker
systemctl restart kube-apiserver
systemctl restart kube-controller-manager
systemctl restart kube-scheduler
systemctl restart kubelet
systemctl restart kube-proxy
解决方案2
docker pull kubernetes/pause