【发布时间】:2015-11-19 02:36:37
【问题描述】:
使用 Kubernetes -- Gogle Container Enginer setup ,在同一个谷歌云集群中,我有前端服务 -> nginx + Angular JS 和 REST API 服务 --> NodeJS API。我不想公开 NodeJS API KubeCTL 服务公共域。因此, 'ServiceType' 仅设置为 'ClusterIP' 。我们如何推断这个 NODE_API_SERIVCE_HOST 、 NODE_API_SERIVCE_PORT -- {SVCNAME}_SERVICE_HOST 和 {SVCNAME}_SERVICE_PORT -- 在 AngularJS 程序中。
(function() {
'use strict';
angular
.module('mymodule', [])
.config(["RestangularProvider", function(RestangularProvider) {
var apiDomainHost = process.env.NODE_API_SERVICE_HOST;
var apiDomainPort = process.env.NODE_API_SERVICE_PORT;
RestangularProvider.setBaseUrl('https://'+apiDomainHost+':'+apiDomainPort+'/node/api/v1'); }]);
})();
那么这将不起作用(ReferenceError: process is not defined),因为这些 angularjs 代码是在客户端执行的。
我的docker文件简单继承了nginx停止/启动控件。
FROM nginx
COPY public/angular-folder /usr/share/nginx/html/projectSubDomainName
http://www.slideshare.net/carlossg/scaling-docker-with-kubernetes 中的第 43 页,共 62 页,解释了我们可以调用命令 sh
"containers": {
{
"name":"container-name",
"command": {
"sh" , "sudo nginx Command-line parameters
'https://$NODE_API_SERVICE_HOST:$NODE_API_SERVICE_PORT/node/api/v1'"
}
}
}
这对于 POD 重启是否可持续?如果是这样,我如何在 AngularJS 中获取这个变量?
【问题讨论】:
标签: kubernetes google-kubernetes-engine