使用Kubernetes --安装程序,在同一个google集群中,我拥有前端服务-> nginx +角JS和REST服务-> 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未定义),因为这些angularjs代码是在客户端执行的。
我的docker文件很容易继承nginx停止/启动控件。
FROM nginx
COPY public/angular-folder /usr/share/nginx/html/projectSubDomainNamehttp://www.slideshare.net/carlossg/scaling-docker-with-kubernetes中62页中的第43页解释了我们可以调用命令sh吗?
"containers": {
{
"name":"container-name",
"command": {
"sh" , "sudo nginx Command-line parameters
'https://$NODE_API_SERVICE_HOST:$NODE_API_SERVICE_PORT/node/api/v1'"
}
}
}这是可持续的船舱重新启动吗?如果是这样的话,我如何在AngularJS中获得这个变量?
发布于 2015-11-18 18:36:37
然后这将无法工作( ReferenceError: process未定义),因为这些angularjs代码是在客户端执行的。
如果客户端在集群之外,它能够访问NodeJS API的唯一方法是将它公开给客户端的网络(可能是公共internet )。如果您担心这对安全性的影响,可以使用多种不同的方法来验证服务,例如使用基础知识。
“容器”:{“名称”:“容器名称”,“命令”:{ "sh“,"sudo命令行参数'端口/节点/api/v1‘”}} 这是可持续的船舱重新启动吗?如果是这样的话,我如何在AngularJS中获得这个变量?
是的,服务IP和端口是稳定的,即使跨荚重新启动。至于如何将NODE_API_SERVICE_{HOST,PORT}变量传递给客户端,您需要将它们从运行服务器端的进程(在集群中)注入响应(例如直接注入JS代码或JSON响应)。
https://stackoverflow.com/questions/33784004
复制相似问题