我必须在VM实例上部署我的应用程序软件,该软件是基于Linux的软件包(.bin)文件。根据系统要求,它至少需要8个vCPU和32GB RAM。
现在,我想知道是否可以在kubernetes集群中负载共享CPU和RAM功能的多个容器上部署此软件,而不是在单个VM实例上安装该软件。
有可能吗?
答案 0 :(得分:1)
是的,有可能实现这一目标。
您可以开始使用docker compose来构建海关docker映像,然后快速构建您的应用程序。
首先,我将向您展示我的GitHub docker-compose
repo,您可以检查文件夹,这些文件夹由应用程序或服务器分隔,因此,docker-compose.yml
只能构建一个应用程序您必须运行命令docker-compose up -d
如果您需要使用docker创建自定义映像,则应使用此docker命令docker build -t <user_docker>/<image_name> <path_of_files>
<user_docker>
=您的码头用户
<image_name>
=您选择的图像名称
<path_of_files>
=某个本地路径,如果需要在同一文件夹中构建,则应使用。 (点)
因此,在那之后,您可以使用以下命令将此映像上传到Dockerhub。
您必须使用您的凭据登录
docker login
您可以使用以下命令检查图像
docker images
将映像上传到DockerHub注册表
docker push <user_docker>/<image_name>
图片上传后,您可以在不同的项目中使用它,请确保使图片轻巧且有用
第二,我将显示一个类似的repo,但此文件夹在名为k8s的文件夹中具有k8s配置。此配置是针对Google云进行的,但我认为您可以对其进行分析并了解如何开始新项目。
Nginx
服务被入口服务ingress-service.yml
取代,https certificate
被添加了certificate.yml
和issuer.yml
文件
如果需要dockerize数据库,请确保该数据库是轻量级的,则需要使用PersistentVolumeClaim
(数据库持久性卷-claim.yml文件)创建持久卷,或者如果要使用较大的数据,则必须在云中使用专用的数据库服务器或某些数据库服务。
我希望这些信息对您有用。
答案 1 :(得分:0)
有两种方法可以实现您想要的。第一个是编写dockerfile并创建映像。可以从here中找到有关如何编写dockerfile的更多信息。除此之外,您还可以从基本映像创建容器,然后安装所有软件和软件包并将其导出为映像。然后,您可以上传到Docker映像存储库,例如Docker Registry和Amazon ECR