K8S的运行实操
K8S有多种部署方式,目前主流的方式有3种,kubeadm,minikube,二进制
①、kubeadm:一个用于快速搭建单节点kubernetes的工具。
②、MiniKube:一个用于快速搭建kubernetes集群工具,学习K8S的原理和实操可以用。也是后面一系列文章关于云原生系列所用的工具。资源有限,后面再发布用二进制搭建k8s的集群博文
③、二进制包:从官网下载每个组件的二进制包,依次去安装,此方式 对于理解kubernetes组件更加有效。
什么是MiniKube
①、是一个嵌套的虚拟机。MiniKube是本地的Kubernetes
优点是:
①、快速启动,消耗机器资源较少,非常适合新手体验与开发
②、minikube最大特点就是“小而美”,可执行文件仅有不到100MB,运行镜像也不过1GB,但就在这么小的空间里却集成了kubernetes的绝大多数功能特性,不仅有核心的容器编排功能,还有丰富的插件。
MiniKube的搭建:
这里给一篇csdn的博文地址:我也是最终照这个搭建成功的https://blog.csdn.net/ilwoziji/article/details/130077222
当我们启动完MiniKube之后,可以使用一些客户端Kubectl的命令:
kubectl get nodes:看到整个集群的节点:master接受命令的
kubectl get pod :看业务的pod 如果看所有的pod kubectl get pod - A: k8s自己的Pod。这里也有命名空间NAMESPACE的概念
上面的勾起来的都是用yml资源文件所定义的资源对象。对应的位置是MiniKube的虚拟机的目录:/etc/kubernetes/manifeste/
k8s的集群的架构如下:这个不是高可用的集群架构
至少有3个虚拟机
Master角色:主要负责元数据的管理;
工作节点:是独立的虚拟机/物理机,通过API Server和工作节点之间进行通讯
工作节点用独立的虚拟机或者物理机通过Kubelet的后台进程来执行API server里的
命令来完成真正的容器管理工作。
kube-proxy:管理访问外部流量的负载均衡。
一般我们部署的时候master节点和worker节点不是在一台机器上的
如果资源不多:可以使用Minikube,MiniKube的架构图如下:
①、物理机里面有一个嵌套的虚拟机,然后再把master的API Server,调度器,控制器,etcd:管理元数据组件还有worker的:kubelet客户端容器管理进程,kube-proxy:流量负载均衡分发的进程都把这些集中在嵌套的里面一个虚拟机里面,来完成容器的管理:
②、由kubectl给API server发命令,然后由容器管理工具kubelet来负责容器的创建的工作而kubectl执行的命令是执行在外围的虚拟机里面的。