[英]Deploy a C++ application to the Google Cloud Platform Kubernetes engine
據我所知,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文件。
例如 ,修改以實現您的應用程序,我已將其作為示例報告以顯示語法:
# 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
建立運行:
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]
更多信息在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.