容器是打包和运行应用程序的最佳方式,在生产环境中,我们需要管理运行应用程序的容器,并且确保这些容器不会停机。如果一个容器发生了故障,则需要手动启动另一个容器,太麻烦了;如果有一个系统能够帮助我们处理这些行为,是不是会很方便?
Kubernetes 就能解决上面提出的一系列的问题。Kubernetes 为我们提供了一个可弹性运行的分布式系统的框架,Kubernetes 可以满足我们的扩展要求、故障转移、部署模式等。
K8S的搭建对于某些人,即使是专业的运维人员,也会有难度,这里直接提供一键安装高可用K8S集群脚本。
前言
Kubernetes 为我们提供下面的功能:
①
服务发现和负载均衡
:Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,如果进入容器的流量很大,Kubernetes 可以负载均衡并分配网络流量,从而使得部署稳定。②
存储编排
:Kubernetes 允许我们自动挂载自己选择的存储系统,如:本地存储、公有云提供商等。③
自动部署和回滚
:我们可以使用 Kubernetes 描述已部署容器的所需状态,Kubernetes 可以以受控的速率将实际状态更改为期望状态,如:我们可以自动化 Kubernetes 来为我们的部署创建新的容器,删除现有容器并将它们的所有资源用于新的容器。④
自动完成装箱计算
:Kubernetes 允许我们指定每个容器所需要的 CPU 和内存(RAM)。当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。⑤
自我修复
:Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。⑥
密钥和配置管理
:Kubernetes 允许我们存储和管理敏感信息,如:密码、OAuth2 令牌和 SSH 密钥。我们可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需再堆栈配置中暴露密钥。……
脚本
本脚本基于国产开源项目 kubeasz ,以二进制安装的方式,不得不说这些人真的牛批,省去了大量环境的搭建时间。
Github:https://github.com/easzlab/kubeasz
此脚本的全部参数是在脚本中配置的,如果想在运行脚本时指定参数,可以自己改造脚本,或者联系我免费定制,本人微信:jing2427259171
,微信公众号:程序员阿晶
,纯开源爱好者。
注意:此脚本适用于联网环境,因为其中要从公网拉取部分依赖、镜像等。
1 |
|