1:k8s简介

官方定义k8s能够对容器化软件进行部署管理,在不停机的前提下提供简单快速的发布和更新方式。
如果你们的项目使用多机器节点的微服务架构,并且采用Docker image(镜像)进行容器化部署,那么就可以使用k8s。

1.1:架构介绍

一个k8s集群由一个master和多个worker节点组成。

Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序。

Worker节点(即图中的Node)是VM(虚拟机)或物理计算机,充当k8s集群中的工作计算机。

Kubelet:负责 master 节点和 worker 节点之间通信的进程;管理 Pod(容器组)和 Pod(容器组)内运行的 Container(容器)。

Pod(容器组) :位于worker上,每个worker上可以有多个pod(容器组),里面运行Container 容器,各个容器间共享端口,ip等资源。K8s pod 是K8s管理容器集的最小单位。
Kubernetes 集群中的 Pod 存在如下两种使用途径:

  • 一个 Pod 中只运行一个容器。“one-container-per-pod” 是 Kubernetes 中最常见的使用方式。此时,您可以认为 Pod 容器组是该容器的 wrapper,Kubernetes 通过 Pod 管理容器,而不是直接管理容器。
  • 一个 Pod 中运行多个需要互相协作的容器,容器间始终一起运行

Deployment 发布:处于 master 节点上角色,通过Deployment发布 创建pod,master 节点会选择合适的 worker 节点创建 Container(即图中的正方体),Container 会被包含在 Pod (即蓝色圆圈)里。
k8s架构

1.2:操作管理k8s

角色介绍完毕,接下来介绍一下操作k8s的工具,可以使用工具实现项目的Deployment

  • 1:kubectl 是 k8s 的客户端工具,部署在master节点使用root用户登录,可以使用命令行部署应用程序、监控和控制集群资源以及查看日志。。
  • 2:Kuboard 图形界面操作k8s
1.2.1:kubectl命令行
查看所有的节点	kubectl get nodes -o wide
查看节点状态 		kubectl describe node <your-node-name>
创建实例
	指定镜像来启动实例		kubectl run nginx --image nginx
	根据配置文件启动实例 	kubectl create -f nginx.yaml

创建deployments		kubectl apply -f name.yaml
查看deployments状态	kubectl get deployments 

创建pod			kubectl apply -f .yaml
查看pod状态		kubectl get pod <pod-name>

2:安装

2.1:使用KuboardSpray 安装

Kuboard-Spray 是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具。
重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。

1:对这台服务器的最低要求为:

1核2G
不少于 10G 磁盘空余空间
已经安装好 docker

2:使用docker安装KuboardSpray 并启动容器

docker run -d \
  --privileged \
  --restart=unless-stopped \
  --name=kuboard-spray \
  -p 80:80/tcp \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ~/kuboard-spray-data:/data \
  eipwork/kuboard-spray:latest-amd64

KuboardSpray 的信息保存在容器的 /data 路径,请将其映射到一个您认为安全的地方,上面的命令中,将其映射到了 ~/kuboard-spray-data 路径;
只要此路径的内容不受损坏,重启、升级、重新安装 Kuboard-Spray,或者将数据及 Kuboard-Spray 迁移到另外一台机器上,您都可以找回到原来的信息。
端口映射:80:80/tcp,自己主机80已经在安装nginx时映射被使用了,所以此时我的映射改为了-p 811:80/tcp \

访问:http://这台机器的IP:811,输入用户名 admin,默认密码 Kuboard123,即可登录 Kuboard-Spray 界面。
登录成功
3:加载离线资源包
在 Kuboard-Spray 界面中,导航到 系统设置 --> 资源包管理 界面,可以看到已经等候您多时的 Kuboard-Spray 离线资源包,如下图所示:
在这里插入图片描述
选择自己想要的版本资源包点击导入–点击加载。加载时可以选择仓库源,阿里源或者华为源等。
资源包下载完成
资源包下载完成!
4:规划并安装集群
导航到 集群管理 界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:

集群名称: 自定义名称,本文中填写为 kuboard123,此名称不可以修改;
资源包:选择前面步骤中导入的离线资源包。
确定完成
5:选择集群节点和配置
添加集群节点和配置连接信息
6:执行安装计划

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐