Skip to main content

Kubernetes 的基本架构

· 3 min read
A4IW0q

简化版架构图详细说明:https://time.geekbang.org/column/article/529800

基础入门

Kubernetes 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本,主要功能包括:

  • 基于容器的应用部署、维护和滚动升级
  • 负载均衡和服务发现
  • 跨机器和跨地区的集群调度
  • 自动伸缩
  • 无状态服务和有状态服务
  • 广泛的 Volume 支持
  • 插件机制保证扩展性

Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。

它提供了很多功能,可以简化应用程序的工作流,加快开发速度。用户可以使用 Label 以自己的方式组织管理资源,此外,用户还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能。

这种设计使得可以方便地在 Kubernetes 之上构建各种应用系统。

uhA0Xo

部署配置

在国内部署集群时,通常还会碰到镜像无法拉去或者拉去过慢的问题,对这类问题的解决方法就是使用国内的镜像。

一般部署完成后,还需要运行一系列的测试来验证部署是成功的。sonobuoy 可以简化这个验证的过程。

创建 Kuberentes cluster 最简单的方法是 minikube。

首先下载 kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s
https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64
chmod +x kubect

安装 minikube (以 MacOS 为例)

# install minikube
$ brew cask install minikube
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine
driver-hyperkit
$ sudo install -o root -g wheel -m 4755 docker-machine-driver-hyperkit
/usr/local/bin/

在 Windows 上面

choco install minikube
choco install kubernetes-cli

最后启动minikube

# start minikube.
# http proxy is required in China
$ minikube start --docker-env HTTP_PROXY=http://proxy-ip:port --docker-env
HTTPS_PROXY=http://proxy-ip:port --vm-driver=hyperkit
mJM2qC