我目前正在修改使用CoreOS的场景。 这可能不是第一类用例。 但是,如果它是有效的,我想要一个指针。 由于我刚刚开始掌握CoreOS,所以我希望我的“用例”不是完全closures的。 想象一下,每个租户都应该拥有自己的运行时环境的多租户应用程序。 让我们把运行在Node.js和PostgreSQL上的web应用程序作为给定的数据存储。 每个租户环境将在CoreOS的各自容器中运行。 数据持久性现在被排除在外。 对我而言,目前更多的是一般的可行性。 那么为什么selectCoreOS? 目前我试图坚持每个租户分离的环境的想法。 为了优化每个硬件主机的DB和Web服务器实例的密度,我认为CoreOS可能是正确的select,而不是“经典的”虚拟化。 另一个原因是许多租户可能不需要比单个的小型数据库实例和单个小型的Web服务器更多的东西。 但是可能还有其他租户需要一些不断缩减的部署。 其他人可能需要在爆发期间暂时扩大规模。 CoreOS在这里听起来很合适。 另一方面,后面必须有一个可扩展的消息基础设施(RabbitMQ),它将处理大量的消息。 这个基础设施将被所有的租户使用,需要dynamic扩展。 Elasticsearch基础设施也可能会被“缩小”。 通过我目前的“一切护目镜的CoreOS”来看,这似乎是一个不错的select。 如果整个情况通常是有效的,我目前不能看到如何将通用可用网站的stream量路由到不同的租户容器。 想象一下,应用程序正在运行在app.greatthing.tld。 用户可以login,并应该呈现为其租户服务的应用程序。 这是什么sockets板和/或法兰绒在那里解决? 或者,解决scheme看起来如何让合适的容器提供服务的租户? 我认为这是一个普遍的问题。 但至less在CoreOS集装箱环境下,我看不出如何处理这个问题。
我对CoreOS世界相对比较陌生,我们重新启动了服务器,日记中的消息非常模糊: Sep 18 07:10:27 ip-xxxx.us-west-2.compute.internal kernel: BUG: unable to handle kernel NULL pointer dereference at (null) — Reboot — 我正在使用我们使用的一些云监控来查看这个系统上的内存和CPU,而CPU和内存没有增加,一切看起来都很好。 所以最大的问题是,我怎么去搞清楚是什么导致了这个随机重启? 谢谢!
我花了一些时间用Azure PS脚本启动一些CoreOS实例。 我有一切工作,除了我不知道如何获得云configuration添加。 使用CLI,您可以执行如下操作: azure vm create –custom-data=cloud-config.yaml –ssh=22 –ssh-cert=./myCert.pem –no-ssh-password –vm-name=node-1 –connect=coreos-cluster –location="West US" 2b171e93f07c4903bcad35bda10acf22__CoreOS-Stable-522.6.0 core 但是,我能find的唯一一个到powershell脚本的转换是添加configurationconfiguration。 Add-AzureProvisioningConfig -Linux -VM $ vm -CustomDataFile cloud-config.yaml 这不起作用,因为Add-AzureProvisioningConfig是“Azure服务脚本”的一部分,而不是新的“资源pipe理器”脚本。 有谁知道如何获得Azure资源pipe理器脚本来获取云configuration安装? 谢谢!
我有一个kubernetes设置运行很好,但我似乎无法公开外部服务。 我在想我的networking设置不正确: kubernetes服务地址:–service-cluster-ip-range = 172.16.0.1 / 16 法兰绒networkingconfiguration:etcdctl get /test.lan/network/config {“Network”:“172.17.0.0/16”} docker子网设置:–bip = 10.0.0.1 / 24 主机节点IP:192.168.4.57 我已经运行了nginx服务,并试图像这样暴露它: [root@kubemaster ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-px6uy 1/1 Running 0 4m [root@kubemaster ~]# kubectl get services NAME LABELS SELECTOR IP(S) PORT(S) AGE kubernetes component=apiserver,provider=kubernetes <none> 172.16.0.1 443/TCP 31m nginx run=nginx run=nginx 172.16.84.166 9000/TCP […]
我有一个kvm / qemu / libvirt主机,有几个虚拟机在br0上运行愉快,IP地址与192.168.10.0/24所在的主机在同一个networking中。 所以我正在玩CoreOS,并按照他们的集群指南在libvirt上尽可能地运行CoreOS 。 当我尝试使用他们的deploy_coreos_libvirt.sh脚本时,它找不到虚拟networking“default”。 事实上,没有根据virsh net-list定义的虚拟networking。 我的Ubuntu 14.04.4主机没有示例network / default.xml文件,但我的CentOS 7 KVM主机呢。 同样,这两台机器都没有定义虚拟networking。 以下是CentOS 7的示例network / default.xml。 <network> <name>default</name> <bridge name="virbr0"/> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254"/> </dhcp> </ip> </network> 所以如果我的物理实验室networking是192.168.10.0/24,我的虚拟networking应该使用什么networking? CoreOS页面上的user_data示例具有“networking”:“10.1.0.0/16”。 我应该在虚拟networkingconfiguration中使用它吗?
我在私有子网中启动5个coreos EC2成员。 然后为其中一个成员分配一个弹性IP。 似乎只有那个分配了ip的可以joinetcd2集群,并且永远在等待其他的4。 这是我的云configuration #cloud-config coreos: update: reboot-strategy: "etcd-lock" etcd2: discovery: "https://discovery.etcd.io/_____hash_____" advertise-client-urls: "http://$private_ipv4:2379" initial-advertise-peer-urls: "http://$private_ipv4:2380" listen-client-urls: "http://0.0.0.0:2379,http://0.0.0.0:4001" listen-peer-urls: "http://$private_ipv4:2380,http://$private_ipv4:7001" fleet: public-ip: "$private_ipv4" metadata: "region=us-west" units: – name: "etcd2.service" command: "start" – name: "fleet.service" command: "start" 这里是公共ip的成员的错误 error #0: client: etcd member https://discovery.etcd.io returns server error [Gateway Timeout] waiting for other nodes: error connecting […]
我有一个在DigitalOcean上没有问题的最小云configuration。 我为SSH添加了一些强化,这需要重新启动sshd.socket才能生效: units: – name: sshd.socket command: restart 单独添加本机(没有实际的sshdconfiguration更改)导致设置使用相同的cloud-config在Hetzner上尝试时失败: ssh: connect to host xx.xx.xx.xx port 22: Connection refused 。 它在DigitalOcean上仍然连接良好。 当我拆下这个单元,然后连接到Hetzner机器工作正常,再次添加失败一致。 variables替代 我所知道的两个平台之间的唯一区别是DigitalOcean上的variables$public_ipv4和$private_ipv4被replace为实际的IP地址,在Hetzner这样的裸机上并不是这样。 从CoreOS文档 : 注意:其他文档中引用的$ private_ipv4和$ public_ipv4replacevariables仅在Amazon EC2,Google Compute Engine,OpenStack,Rackspace,DigitalOcean和Vagrant上受支持。 所以我用静态IP地址replacevariables。 我使用公共IP地址,因为除了环回之外,这是唯一可用的接口。 但是,当我提供而不用公共IP地址replace这些variables时,它也可以很好地连接。 检查期刊揭示了一些与名称parsing相关的错误: systemd[1]: Starting etcd2… etcd2[874]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://:2379,http://:4001 etcd2[874]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2 etcd2[874]: recognized and […]
我想将CoreOS日志聚合到Papertrail服务,它基本上提供了聚合日志logging的syslog端点。 这个设置的常见build议似乎是开始一个这样的服务: journalctl -f | ncat –ssl <host>.papertrailapp.com <port> 但这并不理想,因为它没有处理重启和远程端点停机时间,因为它没有任何类似rsyslogd的池,所以我会得到重复的日志和/或丢弃日志。 鉴于CoreOS没有包pipe理,有没有传统的方式来解决这个痛苦的?
在CoreOS 899.15.0上,如何通过fleetctl更新以前提交的单元文件? 我以前提交过单元文件rethinkdb @ .service,但是想把它更新到一个修订版本: $ fleetctl list-unit-files UNIT HASH DSTATE STATE TARGET [email protected] 76b05ae inactive inactive – [email protected] faa7a16 inactive inactive – 当我尝试重新提交rethinkdb @ .service时,fleetctl只警告我它的本地和registry版本不同: $ fleetctl submit rethinkdb\@.service WARNING: Unit [email protected] in registry differs from local unit file [email protected]
我使用以下systemd单元挂载/dev/vdb1到/media/esdata : 该单元位于/etc/systemd/system/media-esdata.mount : [Unit] Description=Mount cinder volume Before=docker.service [Mount] What=/dev/vdb1 Where=/media/esdata Options=defaults,noatime,noexec 但是这不会在重新启动时开始。 我似乎无法启用这个单位: $ sudo systemctl enable media-esdata.mount The unit files have no [Install] section. They are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1) A unit may be statically enabled by being symlinked […]