Kubernetes 安装方式简介
·1189 字·3 分钟
云 & 云原生
kubernetes
Table of Contents
k8s 安装 - This article is part of a series.
Part 1: This Article
其实 3、4 年前,安装 Kubernetes 还是一个很有挑战性的工作,现在技术越来越成熟了,手段也越来越丰富。
有几种方式来练手:
- 直接使用别人提供的 sandbox,如 katacoda、 play with k8s 等
- 直接使用云端 Kubernetes hosted infrastructure 或者 Kubernetes as a Service
KaaS
三大云提供商 - AWS,GPE,Azure 都有提供 - 云端自建,只用虚机等基础设施
- 本地自建
前两种无需安装,自建方法也有好多,常见的:
- Docker Desktop
- Minikube
- kubeadm
- Kind(Kubernetes in Docker)
- K3s
- Microk8s
- Sealos
- The Hard Way(THW)
- 自动化工具,如 Ansible,Chef,Terraform
- 商业软件,如 Openshift,CloudFoundry,Rancher
下面是对这些工具的简单介绍:
Docker Desktop #
- 如果要使用 Windows 容器,这是唯一选择(并且一定要使用 Hyper-V 虚机)
- 要求 Windows 10 Pro
- 倾向采用 Type-1 hypervisor(如 Hyper-V),而非常用的 Type-2(如 VirtualBox),而且两者不兼容(Type1 和 Type2 不可以同时运行)
Minikube #
- 适合本地开发人员
- 目前最成熟的方案,支持不同平台和版本(Win,Mac,Linux),但需要 vm
- 配置自由度高
- 安装和卸载没有其它方案容易
- 目前只支持单节点 master 的 k8s 集群(非 HA 模式)
- 可当作 Docker Desktop 的替代品


kubeadm #
- 官方推荐安装工具,介于徒手和安装软件之间,可以简化操作
- 支持多节点集群
- 不完全成熟,有些操作还无法无缝完成

Kind(Kubernetes in Docker) #
- 如其名,把整个 k8s 打包在 Docker 里面(本地需要先安装 Docker,然后 Docker 里跑 k8s)
- 主要用于集成测试(官方用于 k8s 版本发布),未必适合开发者


K3s #
- 原生 Linux 集成,不需要额外的 vm (所以只支持 Linux)
- K8s 的简化发行版,去除了 K8s 的多余东西,提供 K8s 的功能但资源消耗最小,用做本地 K8s 开发
- Rancher 公司发布(Rancher 已被 Susce 并购)


MicroK8s #
类似 k3s,属于 k8s 的简化版,不过聚焦 ubuntu
Sealos #
- 一条命令离线安装高可用 kubernetes,3min 装完,700M,100 年证书,版本不要太全,生产环境稳如老狗
- 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群
- kubernetes 高可用部署工具:sealos

The Hard Way(THW) #
- 纯手工,不依赖任何工具或 script,最早来自 k8s 大名人 Kelseyhightower,最灵活也最底层,以生产级别(多节点的)k8s 集群的安装最为复杂
- 自建主要是为了学习的,有时间的话必须尝试 THW
IaC & 自动化工具 #
如 Ansible,Chef,Terraform,等等衍生出来的安装方案,配置和安装的方式自由度高,如 kubespray,这里也不展开讨论,尝试的话参考:
各大厂商上通过 Terraform 安装:
- Provisioning Kubernetes clusters on AWS with Terraform and EKS
- Getting started with Terraform and Kubernetes on Azure AKS
- Provisioning Kubernetes clusters on GCP with Terraform and GKE
商业软件 #
如 Openshift,CloudFoundry,Rancher,这些都是以 k8s 为基础的商业集成软件,内含 k8s 的安装和定制方案,非原生,相当重型,面向企业级应用,这里也不展开讨论。
k8s 安装 - This article is part of a series.
Part 1: This Article