我有一个名为== var Nightmare = require('nightmare'),
should = require('chai').should()
describe('Frontend Masters', function() {
this.timeout(20000);
it('should show form when loaded', function(done) {
var nightmare = new Nightmare({show: true})
nightmare
.goto('https://frontendmasters.com/')
.wait('a[href*="https://frontendmasters.com/login/"]')
.click('a[href*="https://frontendmasters.com/login/"]')
.wait('#rcp_login_form')
.evaluate(function() {
return window.document.title;
}, function(result) {
result.should.equal('Login to Frontend Masters');
done();
})
.run(function(){
console.log('done')
});
});
});
和serviceName == elasticsearch
的Kubernetes PetSet。它确实创建了pod,正如预期的那样,它们的名称类似于es
和elasticsearch-0
。但是,DNS似乎不起作用。 elasticsearch-1
无法解决(elasticsearch-0.es
等也无法解决)。如果你查看生成的srv记录,它们似乎是随机的而不是可预测的:
elasticsearch-0.default
有人有什么想法吗?
详情
这是实际的PetSet和服务定义:
# nslookup -type=srv elasticsearch
Server: 10.1.0.2
Address: 10.1.0.2#53
elasticsearch.default.svc.cluster.local service = 10 100 0 9627d60e.elasticsearch.default.svc.cluster.local.
答案 0 :(得分:6)
这是我误读文档的问题。 The docs说:
网络标识有两部分。首先,我们创建了一个无头服务,控制我们创建Pets的域。此服务管理的域采用以下形式:$(服务名称)。$(名称空间).svc.cluster.local,其中“cluster.local”是集群域。在创建每个宠物时,它会获得一个匹配的DNS子域,采用以下形式:$(petname)。$(管理服务域),其中管理服务由宠物集上的serviceName字段定义。
我认为这意味着serviceDomain
字段的值是“管理服务域”的值,但这并不意味着它。这意味着threshold = tf.constant(0.25, dtype=tf.float32)
raw_prob = tf.greater_equal(predictions, threshold)
的值必须与现有无头服务的名称匹配,并且该服务将用作管理服务域。如果不存在此类服务,则不会出现错误 - 您只需为您的宠物获取随机DNS名称。