我在Google Compute Engine上运行了CoreOS beta 991.1.0,通过GCE实例的user_data元数据variables应用cloud-config。 如何打印当前活动的云configuration(用于debugging目的)?
我有以下IP范围作为从Kubernetes群集的ClusterIP。 $ gcloud beta container clusters describe CLUSTER_NAME | grep servicesIpv4Cidr servicesIpv4Cidr: 10.86.240.0/20 我想允许通过VPN从我的DC访问这个IP范围。 将“远程对端IP地址”添加到我的DC的下一跳之后 我应该如何在GCE上创build路线? 根据gcloud compute routes create命令doc –next-hop-address,–next-hop-gateway,–next-hop-vpn-tunnel或–next-hop-instance中的一个必须与此命令一起提供。 如果我将其中一个NODE设置为–next-hop-instance ,那么如果这个NODEclosures了呢? 我怎样才能实现没有单点故障的路线?
我已经创build了一个部署,其中可以包含2到25个容器之间的任何地方,这些容器都在一个更大的单个逻辑工作单元上工作。 容器将会使用700MB-4GB的内存,我最初的方法是请求1G,限制4G。 在最坏的情况下(4GB的数量超过700MB),即使在其他地方有3%或400%的空闲资源可用时,也会使节点停机 (或者不会开始)。 看着一个或两个容器缓慢地爬上RAM和OOM的节点下来,而不是调度器采取容器closures和重新部署似乎是一个稳定的相当明显的关注。 通过几年的git辩论,文档和代码本身。 目前还不清楚在抽象的抽象层次上,调度程序甚至在启动时传播容器,或者如果有任何积极的步骤K8S一旦部署工作困扰。 如果一个ReplicaSet(我相信这是新的,改进的ReplicationController)只会重新生成容器,直到杀死主机,你必须创build硬盘最坏情况下的请求给每个pod。 对于我们作为部署运行的大部分工作,这会导致50%以上的内存浪费,以防万一 。 是不是在过度configuration的资源中存在一个我们正在试图解决的问题? 多年来,我使用了相当多的调度程序/资源pipe理器,并且不记得一个工作步骤 – 容器 – 无论类比如何都将被允许妥协主机本身,而不是被强制迁移或者直接标记没有资格进行排程 尽pipe文档告诫了这个想法,但是裸露的pod或者pid:1副本集似乎是保持工作分布的唯一方法(假设容器检查点和自杀经常足以使整个资源图片被重新考虑)。 我还应该提到,这是托pipe的Google容器引擎(v1.2.2),看起来像几页的标志可以启动K8S,不清楚这是一个固有的问题, 用户错误或只是如何configurationGCE K8S。 我真的希望在这一个用户错误。
我试图让我的后端的东西起来和运行,我正在寻找节省资金的最佳方式,我的应用程序通常在上午8:30到8:30之间提供API请求,在早上,午餐和晚上有巨大的峰。 我打算做的是在Google计算引擎上设置自动扩展实例组,但是我在设置时遇到了麻烦。 起初,我用nginx在一个实例上设置了它,并且我的虚拟机的多个副本全部负载均衡,但是这对高峰时段以及节省资金没有帮助。 所以我研究了autoscaling,我的问题是,我的虚拟机使用docker集装箱,有3个正在运行的容器,一个用于nginx,一个用于couchdb,另一个用于其他背景。 我试图做的是创build一个具有基础工作,所有文件,数据库和一切的实例-001。 一旦达到70%的负载,它会自我复制,然后在两者之间进行负载平衡。 问题是我不能让它保持数据,并旋转了一个副本。 在完成了一个实例的设置后(instance-001),我用一些负载将它打到了70%以上,然后又创build了两个002和003两个空的干净的虚拟文件,然后一次低于70%,虚拟机被删除,001,实际数据被删除,003被遗留。 到目前为止,我不确定如何设置它的规模和负载平衡。 虚拟机只有1CPU的3G机器,有10GB SSD用于testing,我正在关注https://www.youtube.com/watch?v=TfbEwfYjKl4 它有点过时了,因为它允许你从快照加载,这是我以前做过的,现在它不会。 我最大的问题是什么是最好的生产方式设置为扩大couchdb起床。
我正在定义我的第一个Kubernetes部署,并希望定义一个容器,在两点上装载持久性存储,如下所示(在Deployment.yaml中的spec.template.spec.containers.- ): volumeMounts: – name: volume1 mountPath: /var/log/app – name: volume2 mountPath: /var/lib/app 我从Kubernetes的MEAN栈示例中了解到,我应该能够创build两个相应的GCE磁盘,如下所示: gcloud compute disks create –size 10GB volume1 gcloud compute disks create –size 10GB volume2 我目前考虑两个磁盘,而不是一个,因为我需要安装在两个不同的path。 Kubernetes服务可以在不同的path上装载单个卷/磁盘的不同“部分”(可能是分区)吗? v1.VolumeMount的规范表明,这在服务规范的层面上可能是不可能的,因为它只支持字段name , readOnly和mountPath 。 这些答案表明它可能在EXT4分区的级别上,但是这要求卷是只读的。 即使在只读的情况下(这不符合我的要求),我将如何去创build分区的GCE磁盘? (从StackOverflow迁移)
截至2016年8月28日,我使用Stackdriver监控MongoDB 3.2的问题。 在/var/log/syslog没有提到mongo ,但是如果我在.conf文件中发生configuration错误,它会报错,所以我知道它正在正确加载文件… 所以没有错误,但没有提及mongo在/var/log/syslog和https://app.google.stackdriver.com/services/mongodb声称我没有安装代理。 gke-fatih-standard-fb894cbb-d7ue:/opt/stackdriver/collectd/etc$ sudo service stackdriver-agent restart [….] Restarting Stackdriver metrics collection agent: stackdriver-agentoption = Interval; value = 60.000000; Created new plugin context. option = Interval; value = 60.000000; Created new plugin context. option = PIDFile; value = /var/run/stackdriver-agent.pid; option = Interval; value = 60.000000; Created new plugin context. . ok $ […]
我一直在考虑在Google Compute Engine上使用Kubernetes。 我有configuration需要部署到他们的豆荚。 目前,我正在使用持久性磁盘来执行此操作。 但是,由于永久性磁盘不能多于一次挂载,因此如果使用多于一个的pod,则不能用于部署configuration。 做这个的最好方式是什么? ConfigMaps将无法正常工作,因为我需要将目录结构部署为configuration。 我能看到的唯一解决scheme是每次需要更改我的configuration时重build我的docker容器。 这真的是最好的方法吗?
我正在尝试在GCE上设置自动缩放实例组。 自动调节策略设置,根据已用内存的百分比添加实例。 在每个实例上,我都像这样安装了Stackdriver Monitoring Agent(collectd): $ curl -O https://repo.stackdriver.com/stack-install.sh $ sudo bash stack-install.sh –write-gcm 我可以使用监视API读取代理程序报告给Stackdriver的指标: GET https://monitoring.googleapis.com/v3/projects/test-cluster/timeSeries?filter=metric.type+%3D+%22agent.googleapis.com%2Fmemory%2Fpercent_used%22+AND+resource.label.instance_id+%3D+%224770937493855508384%22&interval.endTime=2017-01-10T01%3A10%3A00Z&interval.startTime=2017-01-10T01%3A05%3A00Z&key={API_KEY} 实例组pipe理器设置使用agent.googleapis.com/memory/percent_used指标自动缩放 但是,实例组pipe理器报告: “没有收到针对configuration为自动缩放的自定义指标的数据” 问题:显然agent.googleapis.com/memory/percent_used指标报告给Stackdriver,但由于某种原因没有返回到实例组pipe理器。
我使用Gitlab-CI在GCE上部署Kubernetes集群。 我想保持最低的成本 – 这是我目前的设置: 节点在3个f1-micro实例上运行 使用ServiceType LoadBalancerconfiguration的运行Traefik的系统窗格 通配符DNSconfiguration 1个postgres 荚 1个configuration为Traefik的ingress Web服务器吊舱 我想降低我的部署成本。 大部分的成本在于GCE负载平衡器。 有没有一种方法可以在GCE上使用公共IP地址而不是负载平衡器? 如果是这样,我可以利用分配给集群的IP地址(而不是预留静态IP)吗? 换句话说,有没有一种方法可以将一个短暂的ip绑定到使用GCE的Kubernetes服务上,而不需要负载均衡器? 有没有其他configuration可以做不同的处理,从而降低GCE的成本?
请注意 – 这是平台特定的。 我试过这个 >>> print sys.platform 'darwin' 而代码没有问题。 然而, >>> print sys.platform 'win32' 我得到这个问题。 此外,我能winscp进入实例没有问题。 我正在运行下面的gcloud ssh命令: gcloud compute ssh my-instance –zone=us-east1-b –command="sudo -S -i -u root -p '' echo 'git -C /root/git/v_a stash;git -C /root/git/v_a pull https://user:[email protected]/user/v_a.git;git -C /root/git/gcloud stash;git -C /root/git/gcloud pull https://user:[email protected]/user/gcloud.git;git -C /root/git/bt stash;git -C /root/git/bt pull https://user:[email protected]/user/bt.git;python /root/git/v_a/d_s_e.py –r-day=1 […]