我想在 Kubernetes 上测试一个非常基本的 NATS-streaming 应用程序。为此,我遵循了官方 NATS-docs 中的命令。
它基本上归结为跑步
kubectl apply -f https://raw.githubusercontent.com/nats-io/k8s/master/nats-server/single-server-nats.yml
kubectl apply -f https://raw.githubusercontent.com/nats-io/k8s/master/nats-streaming-server/single-server-stan.yml
在可以访问集群的终端中(在我的情况下,它是一个kind -cluster)。
我用作stan.go
NATS-streaming-client。这是我尝试连接到 NATS-streaming-server 的代码:
package main
import stan "github.com/nats-io/stan.go"
func main() {
sc, err := stan.Connect("stan", "test-client")
if err != nil {
panic(err)
}
if err := sc.Publish("test-subject", []byte("This is a test-message!")); err != nil {
panic(err)
}
}
这是我得到的错误:
panic: nats: no servers available for connection
goroutine 1 [running]:
main.main()
/Users/thilt/tmp/main.go:9 +0x15d
exit status 2
所以我认为集群使用了另一个名称或其他名称。如果我使用上面 docs.nats-link 提供的示例nats-box
,它也不起作用!我在这里哪里做错了?
如果需要,我很乐意提供更多信息。