Bootstrap

28 天带你玩转 Kubernetes-- 第三天(K8s 安装)

学习K8s首先得有一个K8s集群,但是安装K8s可能就是一个拦路虎,拦住了很多想学习K8s的同学。从源码安装一个K8s确实不是一个容易的事情,在没有经验的情况下几乎不可能安装成功,各种问题会将你耐心一点点磨平。

不过今天首先给大家推荐一个本地快速安装一个开发环境的方法,让大家可以先跳过安装这个拦路虎,快速进入到学习当中,等大家熟悉K8s中的每个组件之后,再来看看安装,可能就没有那么困难了。

今天我们会介绍四种安装方法,大家可以先用第一种方法安装,等学完了再回来试试其他的方法。

一、使用minikube安装开发环境

如果你只是想搭建一个k8s集群开发测试使用,那minikube是一个最好不过的选择!

它可以一条命令快速的在mac、windows、Linux上搭建一个本地的k8s集群。具有如下优势:

1、支持最新版本的Kubernetes
2、可以作为虚拟机、容器、裸机上部署
3、支持多种容器运行时,包括docker、containerd、CRI-O
4、易于安装Kubernetes各种插件
。。。

官方文档地址:

这里简单的介绍一下mac和linux下的安装:

mac安装:(其他系统安装可以参考官方文档)

mac下安装非常简单,使用brew安装,一个命令搞定:

brew install minikube

基本使用

安装kubemini之后介绍一下基本的使用:

1、启动集群

安装好之后,就可以执行minikube命令,首先把k8s启动:

minikube start

2、访问minikube集群中运行的k8s dashboard:

然后我们通过一条命令可以启动一个控制台,可以直观的看到这个集群的状态,包括节点状态、部署的资源的状态等等

minikube dashboard

执行之后会自动打开浏览器,并且看到k8s的dashboard,可以查看集群的所有状态:

3、使用kubectl

kubectl是一种命令行操作K8s集群的方式。它的安装方法可以参考:

当minikube启动之后,就可以直接使用kubectl操作集群。执行这条命令就可以看到我们集群中的所有节点,目前我们只有一个单节点:

$ kubectl get node
NAME       STATUS   ROLES                  AGE    VERSION
minikube   Ready    control-plane,master   2m8s   v1.20.0

4、使用docker

安装了集群之后,集群中会安装一个Docker,但是在集群外面怎么操作到集群中的Docker呢?执行以下命令即可:

eval $(minikube docker-env)
docker images

可以列出集群中使用的所有镜像。Docker的使用后面会详细介绍。

二、使用sealos安装高可用集群

如果你需要一个高可用的集群,推荐使用一个国产的安装软件sealos:

官网介绍:

只能用丝滑一词形容的kubernetes高可用安装(kubernetes install)工具,一条命令,离线安装,包含所有依赖,内核负载不依赖haproxy keepalived,纯golang开发,99年证书,支持v1.16 v1.15 v1.17 v1.18 v1.19!

三、使用kubeadm安装

k8s官方推荐的安装方式是使用kubeadm安装。

有一个比较好的安装教程:

包括了单节点的安装和高可用的安装。

四、基于源码安装

后面再补充