Articles of kubernetes

用无头服务在kubernetes上进行gRPC(nodejs)循环

我有一个3 nodejs grpc服务器pod和一个grpc服务的无头kubernetes服务(返回所有3个pod ips与dnstesting与geod主机从pod内)。 然而,所有grpc客户端请求总是在一台服务器上结束。 根据https://stackoverflow.com/a/39756233/2952128 (最后一段),每轮调用应该可能2017年第一季度。我正在使用grpc 1.1.2 我尝试为new Client(address, credentials, options)提供{"loadBalancingPolicy": "round-robin"} new Client(address, credentials, options)并使用dns:///service:port作为地址。 如果我正确地理解了文档/代码,这应该传递到C核,并使用新实现的循环信道创build。 ( https://github.com/grpc/grpc/blob/master/doc/service_config.md ) 这是如何循环负载平衡器应该现在工作? 它已经发布与GRPC 1.1.2?

在gcloud中configurationKubectl

我用三个节点在gcloud中创build了集群。 到目前为止这么好。之后,我试图运行pod ..这是给错误..我发现kubectl没有configuration正确..当我尝试运行pod时得到以下错误..欣赏任何帮助在这方面。 错误:无法从nodejs.yaml读取编码对象:无法连接到服务器来处理“pod”:无法从服务器读取版本:获取http:// localhost:8080 / api :dial tcp 127.0.0.1: 8080:连接被拒绝 谢谢

GKE节点上的节点大小

我们使用标准2的两个节点运行我们的集群:7.5Gb和2vCPU GKE上的集群是否有推荐的最小尺寸? 我认为没有真正的主人,因为这是一个托pipe的“服务”? 我正在努力处理资源限制。

如何监视在Kubernetes上运行的Nodejs应用程序

我只需从我的dockerfile中执行CMD ["node", "/dist/app.js"]来在容器中运行我的主进程。 集装箱托pipe在Kubernetes。 当豆荚出现问题时,kubernetes rc将旋转另一个。 但是,如果我的主进程在pod – >容器内崩溃,Kubernetes会知道吗? 想知道最好的方法来监视在容器内运行的进程,日志崩溃并重新启动进程,以便我的客户端不会得到500当呼叫路由到崩溃的容器。 在虚拟世界中,我永远使用,永远会给我日志+允许我configuration重新启动等等。在容器/ kubernetes世界相当于什么? 谢谢 !

select一个GKE kubernetes集群的节点大小

我们正在讨论生产GKE集群的最佳节点大小。 总体上有更多的小节点还是更小的节点会更好吗? 例如,我们在以下两个选项之间进行select 3 x n1-standard-2(7.5GB 2vCPU) 2 x n1-standard-4(15GB 4vCPU) 我们在这些节点上运行: 弹性search群集 Redis集群 PHP API微服务 节点API微服务 3个独立的Node / React网站

公开在Kubernetes上运行的Cassandra

我正在Kubernetes上运行Cassandra(3个实例),并想将其暴露给外部,我的应用程序还没有在Kubernetes中。 所以我策划了一个负载平衡的服务,如下所示: apiVersion: v1 kind: Service metadata: namespace: getquanty labels: app: cassandra name: cassandra annotations: kubernetes.io/tls-acme: "true" spec: clusterIP: ports: – port: 9042 name: cql nodePort: 30001 – port: 7000 name: intra-node nodePort: 30002 – port: 7001 name: tls-intra-node nodePort: 30003 – port: 7199 name: jmx nodePort: 30004 selector: app: cassandra type: LoadBalancer 这是结果是: NAME […]

API Pod无法连接到同一个kubernetes群集中的mongo pod

我在一个由kubernetespipe理的Google计算引擎上运行一个nodejs api作为一个pod。 API正在连接到数据库,但之后突然显示此错误失败: listening to http server on 0.0.0.0:8080… events.js:160 throw er; // Unhandled 'error' event ^ MongoError: failed to connect to server [mongo:27017] on first connect [MongoError: getaddrinfo ENOTFOUND mongo mongo:27017] at Pool.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:328:35) at emitOne (events.js:96:13) at Pool.emit (events.js:188:7) at Connection.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:274:12) at Connection.g (events.js:292:16) at emitTwo (events.js:106:13) at Connection.emit (events.js:191:7) at Socket.<anonymous> […]

无法正确连接到Kubernetes中的Redis

在我的macOS上(不使用Minikube),我已经在这个例子之后对我的Kubernetes集群进行了build模,这意味着我已经按照这个顺序执行了这个逐字logging: # Adding my own service to redix-proxy kubectl create -f ./redis/redis-service.yaml # Create a bootstrap master kubectl create -f examples/storage/redis/redis-master.yaml # Create a service to track the sentinels kubectl create -f examples/storage/redis/redis-sentinel-service.yaml # Create a replication controller for redis servers kubectl create -f examples/storage/redis/redis-controller.yaml # Create a replication controller for redis sentinels kubectl create […]

无法使用Node.js从MongoDB从站读取数据

我已经看到了许多同样的问题,但不知何故,我仍然无法成功地连接到MongoDB的奴隶。 我使用mongo-k8s-sidecar在Kubernetes上运行我的集群,直接将我的应用程序连接到主工作正常,但是每当我尝试连接到奴隶,我似乎无法阅读,这里的错误代码: MongoError: not master and slaveOk=false 我为我的应用程序使用Node.js,这就是我如何连接: var mongodb = require('mongodb').Db; var Server = require('mongodb').Server var db = new mongodb('dbname', new Server("localhost",27017,{slaveOk: true})); db.open(function(err, conn){ if (err){ callback(err); }else { client=conn; client.createIndex("tablename", {field:1} , {background:true}, function(err, i) { logger.info(err); }); //The rest of the code is trimmed 我在这里错过了什么?

在Minikube和docker上开发工作stream程

我正试图了解如何有效地开发dockerized应用程序,特别是Kubernetes。 我正在努力寻找正确的方式去实时编辑容器。 在过去的Docker中,我只是使用类似于Nodemon的东西来监视文件在本地更改,然后当我完成应用程序时,我将dockerize并部署。 对于Kubernetes(minikube),我的第一印象是我应该在每次编辑时重build容器。 当然,这不可能是人们在这里发展的方式 – 我错过了什么? 我应该在本地进行编辑,然后dockerize-> k8s部署? 那看起来不错。 我正在寻找一种方法,将所有本地更改同步到一个docker容器,然后重新启动kubernetes pod以进行新的更改,以便在开发期间从日志中读取数据。 如果这很奇怪,请推荐我一个更好的方法。 谢谢