最近需求要了解kubernetes,所以这里写一篇kubernetes的入门
Kubernetes 是什么?
从容器启动微服务后,我们有一个问题,让我们通过如下问答的形式具体描述这个问题:
1.如何扩大或者缩小容器
2.如何在容器里分摊负荷
3.如何最大化硬件使用效率
4.打更新补丁的时候不影响到所有服务
5.如果出了问题如何回滚
Kubernetes 是容器控制平台,可以抽象所有的底层基础设施(容器运行用到的基础设施)。
- API服务器:与集群交互的唯一方式。负责启动或停止另外一个容器,或检查当前状态,日志等;
- Kubelet:监视节点内的容器,并与主节点交流;
- Pod:初始阶段我们可以把 pod 当成容器。
推荐阅读Marko Lukša 的著作《Kubernetes in Action》,以及 Sébastien Goasguen & Michael Hausenblas 的《Kubernetes Cookbook》
安装和启动 Minikube 和 安装 Kubectl
请参阅安装 Minikube 的[官方文档]
也可以直接看我的安装流程,我的测试服务器是用的阿里云的,CENTOS 7,1核1G(太贵买不起)
如果你用的是里面的服务器,推荐先更改一下镜像源,详情见我另一篇博客《修改CentOS默认yum源为国内yum镜像源》
Kubectl 是向 Kubernetes API 服务器发送请求的客户端。
# 安装minikube 会有不知名原因导致无法安装,只要多试几次就行
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
# 安装kebectl 会有不知名原因导致无法安装,只要多试几次就行
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl
运行minikube
# 启动minikube 超级久的运行时间,主要是在下载VM,下载Minikube,耐心等等吧
minikube start