假设拓扑上有两个服务
两者都假设在端口80上运行.
在创建服务时,如果要在群集外部访问它,则需要在docker swarm上公开并将端口从服务映射到节点(外部端口).但是,如果您将端口80映射为让我们说API服务,那么您无法映射Web Interface服务的相同端口,因为它已经映射.
怎么解决这个问题?
据我所知,这个用例不受支持.即使你想拥有一个大群集群,并且因为这种行为也无法实现所有服务和应用程序.
我错过了什么?
任何模式来解决这个问题?
我正在使用Docker 1.10版.如何获取容器使用的卷?
我知道我可以通过以下方式获得容器:
docker ps
Run Code Online (Sandbox Code Playgroud)
我可以用以下方式检查它们:
docker inspect $containerID
Run Code Online (Sandbox Code Playgroud)
我也知道卷API可用,所以我也可以这样做:
docker volume ls
Run Code Online (Sandbox Code Playgroud)
和
docker volume inspect $volumeID
Run Code Online (Sandbox Code Playgroud)
但我找不到它们之间的任何链接信息.我该怎么用?
Kubernetes为每项服务创建一个负载均衡器; 自动在GCE中.如何在AWS上管理类似的东西?
Kubernetes服务基本上使用kubeproxy来处理内部流量.但是那个kubeproxy ip它无法访问外部网络.
有一种方法可以实现这一目标吗?
我需要为我的查询迭代无痛脚本字段上的嵌套对象,但符号 doc['nestedProperty.property'] 没有给我值,也没有使用数组符号 doc['nestedProperty.property'][0]
关于如何使用它的任何想法?
一个文档示例:
{
"neestedProperty": [
{
"property": 12,
"innerNeestedProperty": {
"innerProperty1": 45,
"innerProperty2": -45
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
示例查询:
{
"query": {
match_all: {}
},
"script_fields": {
"scripted": {
"script": {
"inline": "doc['neestedProperty.property'] * params.multiplier",
"params": {
"multiplier": 100
},
"lang": "painless"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想使用kubernetes作为我的默认开发环境,我使用docker在本地设置集群,如官方文档中所述.我将我的示例推送到github存储库
运行kubernetes集群后,我的设置步骤如下:
* cd cluster_config/app && docker build --tag=k8s_php_dev . && cd ../..
* kubectl -s http://127.0.0.1:8080 create -f cluster_config/app/app.rc.yml
* kubectl -s http://127.0.0.1:8080 create -f cluster_config/app/app.services.yml
Run Code Online (Sandbox Code Playgroud)
我的问题出现了,因为我想将本地目录映射为我的应用程序窗格内的卷,这样我就可以动态共享我本地主机和pod之间的文件,这样我就可以开发,更改文件; 并动态更新服务.
我使用了一个带有hostPath的卷.pod,复制控制器和服务已成功创建,但pod不共享目录,甚至没有mountPath上的文件.
我做错了什么?
谢谢
我正在使用amqp.node库将rabbitmq集成到我的系统中。
但是在使用者中,我一次只想处理一条消息,然后确认该消息,然后使用队列中的下一条消息。
当前代码是:
// Consumer
open.then(function(conn) {
var ok = conn.createChannel();
ok = ok.then(function(ch) {
ch.assertQueue(q);
ch.consume(q, function(msg) {
if (msg !== null) {
othermodule.processMessage(msg, function(error, response){
console.log(msg.content.toString());
ch.ack(msg);
});
}
});
});
return ok;
}).then(null, console.warn);
Run Code Online (Sandbox Code Playgroud)
ch.consume将一次处理通道中的所有消息,并且在此处调用模块的功能othermodule不会在同一时间线执行。
我要等待othermodule函数完成,然后再使用队列中的下一条消息。
试图找到如何发布从PHP谷歌,加上墙上,但有403甚至使用API探险家在得到了
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
Run Code Online (Sandbox Code Playgroud)
我的PHP代码如下:
$client = new \Google_Client();
$client->setApplicationName("Speerit");
$client->setClientId($appId);
$client->setClientSecret($appSecret);
$client->setAccessType("offline"); // offline access
$client->setIncludeGrantedScopes(true); // incremental auth
$client->setAccessToken(
json_encode(
array(
'access_token' => $accessToken,
'expires_in' => 3600,
'token_type' => 'Bearer',
)
)
);
$client->setScopes(
array(
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/plus.me",
"https://www.googleapis.com/auth/plus.stream.write",
)
);
$client = $client->authorize();
// create the URL for this user ID
$url = sprintf('https://www.googleapis.com/plusDomains/v1/people/me/activities');
// create your HTTP request …Run Code Online (Sandbox Code Playgroud) 几个kubernetes新手问题.
如果我在kubernetes将其设置的大小设置为使用想要在群集中的小兵数量定义的大小时,我就说我创建了一个包含两个小兵的群集.如果我决定使用php和nginx部署4个pod.
有一种方法可以选择我想拥有的每个pod的资源量吗?
在旧部署中,我们直接部署到servers/vm,我们知道每个服务器/ vm的资源量.假设我没有功能要求2gb ram 4 cps 160gb hdd.
我怎么能用kubernetes做到这一点.
现在假设我已经部署了4个pod,我想扩展,新的pod需要满足相同的功能要求.
我是否需要调整我的群集大小,或者在某种程度上kubernetes为我做什么?
谢谢.
使用 Ubuntu 16.10 Docker 1.12.3 Docker Composer 1.8 Elastic 官方弹性 docker 镜像的最新标签
docker-compose.yml
version: '2'
services:
elastic:
image: elasticsearch
environment:
- ES_JAVA_OPTS=-Xmx2g -Xms2g
Run Code Online (Sandbox Code Playgroud)
获取日志
弹性_1 | 错误:引导程序检查失败 elastic_1 | elasticsearch 进程的最大文件描述符 [4096] 太低,增加到至少 [65536] elastic_1 | [2016-11-18T17:48:17,058][INFO][oenNode] [HK_OIan] 停止...
任何想法,谢谢
有任何方法可以从具有参数的另一个管道触发管道作业,我已经尝试过
build job: '/myjob', parameters: [string(name: 'param1', value:'val1')], wait: false
Run Code Online (Sandbox Code Playgroud)
也尝试过
build job: 'myjob', parameters: [string(name: 'param1', value:'val1')], wait: false
Run Code Online (Sandbox Code Playgroud)
和
build job: 'myjob', parameters: [[$class: 'StringParameterValue', name: 'param1', value: 'val1']], wait: false
Run Code Online (Sandbox Code Playgroud)
没有运气,它说:
项目类型不支持参数
docker ×4
kubernetes ×3
aws-ec2 ×1
containers ×1
devops ×1
docker-swarm ×1
google-api ×1
jenkins ×1
node.js ×1
php ×1
rabbitmq ×1
volume ×1