八、Kubernetes 入门实践

本文是《Docker必知必会系列》第八篇,原文发布于个人博客:悟尘纪

上一篇:Docker必知必会系列(七):Docker Compose 入门实践

Kubernetes 介绍

Kubernetes (K8s) 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务。是目前最主流的容器化管理平台,获得各大主流云服务厂商支持。

Kubernetes 基于 Google 在大规模运行生产经验技术基础上,结合社区中最好的想法和实践构建的开源平台。

为什么需要 Kubernetes

在生产环境中,您需要管理运行应用程序的容器,并确保不会停机。例如,如果一个容器发生故障,则需要启动另一个容器。如果有个系统工具来处理这些需求,会不会更容易?这就是 Kubernetes!

Kubernetes 为您提供了一个可弹性运行分布式系统的框架。满足您的扩展、故障转移、部署模式等要求。

Kubernetes 为您提供:

  • 服务发现和负载均衡
    Kubernetes 可以使用 DNS 名称或自己的 IP 地址公开容器,并提供负载均衡来分配网络流量。

  • 存储编排
    Kubernetes 允许您自动挂载您选择的存储系统,例如本地存储、公共云提供商等。

  • 自动部署和回滚
    您可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控的速率将实际状态更改为所需状态。例如,Kubernetes 可以自动化为您的部署创建新容器,删除现有容器并将它们的所有资源用于新容器。

  • 自动二进制打包
    Kubernetes 允许您指定每个容器所需 CPU 和内存(RAM)。当容器指定了资源请求时,Kubernetes 可以做出更好的决策来管理容器的资源。

  • 自我修复
    Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。

  • 密钥与配置管理
    Kubernetes 允许您存储和管理敏感信息,例如密码、OAuth 令牌和 ssh 密钥。您可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。

Kubernetes 不是传统的、包罗万象的 PaaS(平台即服务)系统。Kubernetes 提供了构建开发人员平台的基础,但是在重要的地方保留了用户的选择和灵活性。很多云服务商基于K8s来构建自己的PaaS平台。

部署 Kubernetes

您可以在本地机器、云、本地数据中心上部署 Kubernetes 集群,或选择一个托管的 Kubernetes 集群。还可以跨各种云提供商或裸机环境创建自定义解决方案。

为了学习 Kubernetes,建议使用基于 Docker 的解决方案:Docker 是 Kubernetes 社区支持或生态系统中用来在本地计算机上设置 Kubernetes 集群的一种工具。如果是为了生产环境,您应该认真评估适当的解决方案,具体请参照官方文档

Docker Desktop 启用 Kubernetes

在 Docker Desktop 的 Preferences 页面,点击 Kubernetes,选择 Enable Kubernetes,待左下角的 Kubernetes 状态变为 running时,Kubernetes 即已启动成功。

在 Docker Desktop 中启用 Kubernetes

在控制台执行 kubectl version,能够正常输出信息,则说明Kubernetes 已经成功启动。

$ kubectl version
Client Version: version.Info{
   Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:26:26Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{
   Major:"1", Minor:"16+", GitVersion:"v1.16.6-beta.0", GitCommit:"e7f962ba86f4ce7033828210ca3556393c377bcc", GitTreeState:"clean", BuildDate:"2020-01-15T08:18:29Z", GoVersion:"go1.13.5", Compiler:"gc", Platform:"linux/amd64"}

安装 Dashboard

Dashboard 是官方提供的基于网页的 Kubernetes 用户管理界面。您可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。您可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源(如 Deployment,Job,DaemonSet 等等)。例如&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值