[k8s的应用] 3 工作负载
上一篇已经讲解了kubesphere的初始化动作。这一篇讲解如何创建工作负载。什么是工作负载呢?1 工作负载工作负载 (Workload) 通常是访问服务的实际载体, 也是对节点日志收集、监控等系统应用的实际运行载体,是对一组容器组 (Pod) 的抽象模型。这是kubesphere的解释。我简单粗暴点解释:工作负载就是服务(应用)。创建工作负载,就是创建一个服务。为什么服务是创建而不是部署呢,是因
目录
上一篇已经讲解了kubesphere的初始化动作。这一篇讲解如何创建工作负载。什么是工作负载呢?
1 工作负载
工作负载 (Workload) 通常是访问服务的实际载体, 也是对节点日志收集、监控等系统应用的实际运行载体,是对一组容器组 (Pod) 的抽象模型。这是kubesphere的解释。我简单粗暴点解释:工作负载就是服务(应用)。创建工作负载,就是创建一个服务。为什么服务是创建而不是部署呢,是因为服务的创建遵循容器化服务部署的过程,需要先将服务打成镜像提交到镜像仓库,然后平台配置镜像地址,同时做一些其他的配置,然后平台根据配置文件主动创建一个服务出来,这边的创建不仅仅在部署服务,同时也在创建一个容器,然后将服务部署在这个容器上。
下面演示工作负载的创建过程。
2 创建第一步-基本信息
3 创建第二步-容器镜像
容器镜像,是服务的基本,需要指定我们要部署哪个服务。
基本设置
3.1 添加容器镜像
3.1.1 面板功能了解
选中要的镜像,这个过程需要支持访问dockerhub不然就凉了。
但是估计因为镜像源的缘故吧,提示如下:
上面选择镜像失败了,主要是镜像源的问题等后面我们讲解自己搭建一个本地镜像仓库的时候,就可以解决了。
3.1.2 选择镜像
下面分享一个安装mysql数据库的教程吧,因为这个我试过了,从dockerhub仓库可以拉取成功。
选择之后就开始加载了镜像信息:
3.1.3 其他配置
其他配置一般都保持不动,包括下面几个:
4 创建第三步-挂载存储
这块就是涉及到存储外挂的操作。
默认服务是部署在容器里头,所以数据也会存储在容器里头,那么一旦镜像销毁,数据也就没了,所以通常我们会设置将容器里头的数据存储在nfs上。因为我还没对nfs进行相关的设置,所以这个步骤先跳过。
5 创建第四步-高级设置
这个步骤主要是对部署的节点进行设置。因为我们是k8s集群,可以部署的机器有多台。那么,尤其当我们对服务不进行集群部署的话,有时候需要根据当前的机器情况,指定我们的服务要部署到哪个机器上。
5.1 默认配置
默认不指定,由系统自动判断和部署
5.2 手动选择
可以手动配置要部署的机器
设置好之后,最后点击创建。就完成了预备创建。注意了只是预备创建,不一定能创建成功,创建过程还要下载镜像,启动镜像,这两个步骤都是有可能失败的。
如下,因为之前已经安装了一个mysql,用的就是3306端口,这是会发生冲突的,所以我先关闭之前安装过的mysql:
6 创建第五步-排查和配置
基本上经过上面几个步骤之后的服务都可以正常的启动,但是部分的应用还需要额外的配置才能正常的启动。对于新手而言的,一开始使用这种类型的镜像是不懂的需要配置的,所以需要通过创建日志来查看还需要做哪些工作。
6.1 负载详情页
先进入负载详情页面:
负载详情面板了解:
6.2 容器详情页
6.3 服务部署日志
服务部署日志如下:
可以看到错误信息:
2021-09-26 06:43:51+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
You need to specify one of the following:
- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD
这个错误信息提示已经非常的详细,就是说需要我们指定下面的几个密码中的一个。
6.4 错误分析和补充配置
上面的配置要在哪里配置呢,需要在负载构建的配置里头配置。
6.4.1 进入负载配置模板
6.4.2 进入容器组模板
6.4.3 添加环境变量
6.4.4 重新构建
保存上述的配置就会自动重新进行构建
工作负载到这一步,就已经创建好了。但是还不能对外提供访问。还需要做一些动作,详见下一篇。
下一篇讲解服务访问。
更多推荐
所有评论(0)