数据人与超自然意识 发表于 2022-6-26 03:40:01

kubernetes使用学习(k8s)

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 (即蓝色圆圈)里。
https://img-blog.csdnimg.cn/055903ad3ecc47c487d6d8a1a4b31321.png
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 界面。
https://img-blog.csdnimg.cn/426b4d8f31834b32bf6ecb534e68fbc9.png
3:加载离线资源包
在 Kuboard-Spray 界面中,导航到 系统设置 --> 资源包管理 界面,可以看到已经等候您多时的 Kuboard-Spray 离线资源包,如下图所示:
https://img-blog.csdnimg.cn/31f45db1ba7343d986c5f7d4339346e4.png
选择自己想要的版本资源包点击导入–点击加载。加载时可以选择仓库源,阿里源或者华为源等。
https://img-blog.csdnimg.cn/18d6a9bef7954dbd817dcaf3b5d1c0c5.png
资源包下载完成!
4:规划并安装集群
导航到 集群管理 界面,点击界面中的 添加集群安装计划 按钮,填写表单如下:
集群名称: 自定义名称,本文中填写为 kuboard123,此名称不可以修改;
资源包:选择前面步骤中导入的离线资源包。
确定完成
5:选择集群节点和配置
添加集群节点和配置连接信息
6:执行安装计划

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: kubernetes使用学习(k8s)