kubernetes使用学习(k8s)
官方定义k8s能够对容器化软件进行部署管理,在不停机的前提下提供简单快速的发布和更新方式。如果你们的项目使用多机器节点的微服务架构,并且采用Docker image(镜像)进行容器化部署,那么就可以使用k8s。一个k8s集群由一个master和多个worker节点组成。Master 负责管理集群 负责协调集群中的所有活动,例如调度应用程序,维护应用程序的状态,扩展和更新应用程序。Worker节点(
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 (即蓝色圆圈)里。
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:执行安装计划
更多推荐
所有评论(0)