Dep*_*uke 5 c++ google-cloud-platform kubernetes google-kubernetes-engine dockerfile
据我所知,Kubernetes引擎用于部署可以实现负载平衡的应用程序,例如,具有取消哈希字符串的应用程序。如果pod-a处于高负载,它将被卸载到pod-b。如果我在这里错了,请纠正我,因为如果这是错误的,那么我接下来的问题就没有意义了。
在探索了几个小时之后,我似乎无法弄清楚如何将C ++应用程序部署到Kubernetes集群。我该怎么办?
我试过的
我尝试遵循该指南:交互式教程-部署应用程序,但是,我不明白如何将C ++应用程序作为可部署的映像来获得。
什么是C ++应用程序:
目前,它代理TCP流量到客户端的HOSTNAME指定的另一个HOST。它几乎是一个反向代理,但是,这不是HTTP应用程序。
Kubernetes是正确的选择吗?
--
Kubernetes对于负载均衡工作负载,在无法加快测试流程的速度下提供高可用性以及通过不同策略提高生产推出期间的安全性以及通过隔离提高安全性而言确实非常有用。
但是,并非所有类型的工作负载都可以利用Kubernetes引入的所有功能。
但是,如果您需要将其部署在其他云提供商上,并且每天只需要运行几个小时,那么也许它就可以利用这些功能。如果您愿意添加一个图层,请确保您需要它引入的功能,否则将只是开销。
请注意,Kubernetes不能单独拆分您的工作负载。因此,我不知道您的意思是“ 如果pod-a处于高负载,则将其卸载到pod-b ”是可能的,但是您必须指示它这样做。
Kubernetes会小心地运行POD,并确保已根据您的规范在节点上安排了足够的内存和CPU可用的节点,您还可以设置自动扩展过程以支持高工作量周期甚至扩展集群本身。您的应用程序应该以支持分而治之的方式创建,否则,您可能会有三个节点,一个节点在一个节点上运行,两个空闲节点以及可以避免的开销。
当然可以利用Kubernetes,在其上运行应用程序非常容易,但是也许您必须修改架构中的某些内容才能充分利用这些功能。
在Kubernetes中部署应用程序的过程非常标准。在本地开发,使用所需的所有库和组件创建Docker映像,在本地对其进行测试,将其推送至注册表并在Kubernetes中创建部署。
假设您拥有在本地文件夹中运行应用程序和可执行文件所需的所有资源。创建Docker文件。
Example,修改以实现您的应用程序,我已经报告了它作为显示语法的示例:
# Download base image, Ubuntu 16.04 (Xenial Xerus)
FROM ubuntu:16.04
# Update software repository
RUN apt-get update
# Install nginx, php-fpm and supervisord from the Ubuntu repository
RUN apt-get install -y nginx php7.0-fpm supervisor
# Define the environment variable
ENV nginx_vhost /etc/nginx/sites-available/default
[...]
# Enable php-fpm on the nginx virtualhost configuration
COPY default ${nginx_vhost}
[...]
RUN chown -R www-data:www-data /var/www/html
# Volume configuration
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
# Configure services and port
COPY start.sh /start.sh
CMD ["./start.sh"]
EXPOSE 80 443
Run Code Online (Sandbox Code Playgroud)
使其运行:
export PROJECT_ID="$(gcloud config get-value project -q)"
docker build -t gcr.io/${PROJECT_ID}/hello-app:v1 .
gcloud docker -- push gcr.io/${PROJECT_ID}/hello-app:v1
kubectl run hello --image=gcr.io/${PROJECT_ID}/hello-app:v1 --port [port number if needed]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |