kubernetes使用学习(k8s)

打印 上一主题 下一主题

主题 581|帖子 581|积分 1743

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命令行

  1. 查看所有的节点        kubectl get nodes -o wide
  2. 查看节点状态                 kubectl describe node <your-node-name>
  3. 创建实例
  4.         指定镜像来启动实例                kubectl run nginx --image nginx
  5.         根据配置文件启动实例         kubectl create -f nginx.yaml
  6. 创建deployments                kubectl apply -f name.yaml
  7. 查看deployments状态        kubectl get deployments
  8. 创建pod                        kubectl apply -f .yaml
  9. 查看pod状态                kubectl get pod <pod-name>
复制代码
2:安装

2.1:使用KuboardSpray 安装

Kuboard-Spray 是一款可以在图形界面引导下完成 Kubernetes 高可用集群离线安装的工具。
重要: kuboard-spray 所在机器不能当做 K8S 集群的一个节点,因为安装过程中会重启集群节点的容器引擎,这会导致 kuboard-spray 被重启掉。
1:对这台服务器的最低要求为:
  1. 1核2G
  2. 不少于 10G 磁盘空余空间
  3. 已经安装好 docker
复制代码
2:使用docker安装KuboardSpray 并启动容器
  1. docker run -d \
  2.   --privileged \
  3.   --restart=unless-stopped \
  4.   --name=kuboard-spray \
  5.   -p 80:80/tcp \
  6.   -v /var/run/docker.sock:/var/run/docker.sock \
  7.   -v ~/kuboard-spray-data:/data \
  8.   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:执行安装计划

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表