开发者社区> 汪云飞> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

平台云基石-CoreOS之集群篇(无需互联网)

简介:
+关注继续查看

    官方文档中关于集群的配置需要在cloud-config.yaml中配置discovery,而我的实验环境没有外网。

 

 

Java代码  收藏代码
  1. #cloud-config  
  2.   
  3. coreos:  
  4.   etcd:  
  5.     # generate a new token for each unique cluster from https://discovery.etcd.io/new  
  6.     discovery: https://discovery.etcd.io/<token>  
  7.     # multi-region and multi-cloud deployments need to use $public_ipv4  
  8.     addr: $private_ipv4:4001  
  9.     peer-addr: $private_ipv4:7001  
  10.   units:  
  11.     - name: etcd.service  
  12.       command: start  
  13.     - name: fleet.service  
  14.       command: start  

 

 

 解决方案1、搭建自己的Discovery Endpoint(我没解决)

https://github.com/coreos/discovery.etcd.io 下载本地部署。我部署访问显示不能生成token,放弃尝试,有兴趣的朋友可以尝试下,期待你的解决。

 

解决方案2、手工启动etcd(有问题)

登录coreos1

 

Java代码  收藏代码
  1. ssh core@192.168.1.104  

执行如下代码 

 

 

Java代码  收藏代码
  1. etcd -name="coreos1" -addr="192.168.1.104:4001" -peer-addr="192.168.1.104:7001"  -data-dir="/home/core/etcd"  

 

 

登录coreos2

 

Java代码  收藏代码
  1. ssh core@192.168.1.106  

 执行如下代码 

 

 

Java代码  收藏代码
  1. etcd -name="coreos2" -addr="192.168.1.105:4001" -peer-addr="192.168.1.105:7001" -peers="192.168.1.104:7001" -data-dir="/home/core/etcd"  

 

 

登录coreos3

 

Java代码  收藏代码
  1. ssh core@192.168.1.105  

 执行如下代码

 

 

Java代码  收藏代码
  1. etcd -name="coreos3" -addr="192.168.1.106:4001" -peer-addr="192.168.1.106:7001" -peers="192.168.1.104:7001,192.168.1.105:7001" -data-dir="/home/core/etcd"  

 

 

测试集群

新开窗口登录coreos1

 

Java代码  收藏代码
  1. ssh core@192.168.1.103  

 输入

Java代码  收藏代码
  1. fleetctl list-machines  

 得到

Java代码  收藏代码
  1. core@coreos1 ~ $ fleetctl list-machines  
  2. MACHINE         IP              METADATA  
  3. 79a6a4fe...     192.168.1.103   -  
  4. d049e2ca...     192.168.1.106   -  
  5. dcbf31c5...     192.168.1.105   -  

 

问题

1、etcd不能后台运行

按照上面的etcd命令执行,当关闭客户端的时候,etcd就关闭了,随之集群就没有了,尝试nohup无效。

 

解决方案3:使用cloud-config.yaml(用这个吧)

单个机器按照《平台云基石-CoreOS之离线安装篇(无需互联网)》,配置按照如下做修改。完美解决!此处要格外小心yaml文件的格式缩进、空格、tab等等,若失败多检查文件。

第一台机器

为主节点,配置如下

cloud-config-104.yaml

Yaml代码  收藏代码
  1. #cloud-config  
  2.   
  3. hostname: coreos1  
  4.   
  5. coreos:    
  6.   etcd:      
  7.     addr: 192.168.1.104:4001  
  8.     peer-addr: 192.168.1.104:7001  
  9.   units:  
  10.     - name: etcd.service  
  11.       command: start  
  12.     - name: fleet.service  
  13.       command: start  
  14.     - name: static.network  
  15.       content: |  
  16.         [Match]  
  17.         Name=enp3s0  
  18.   
  19.         [Network]  
  20.         Address=192.168.1.104/24  
  21.         Gateway=192.168.1.254  
  22.         DNS=192.168.1.254     
  23. users:    
  24.   - name: core  
  25.     ssh-authorized-keys:   
  26.       - ssh-rsa #你的公钥  
  27.   
  28.   - groups:  
  29.       - sudo  
  30.       - docker  

 

 第二台机器

cloud-config-105.yaml

Java代码  收藏代码
  1. #cloud-config  
  2.   
  3. hostname: coreos2  
  4.   
  5. coreos:    
  6.   etcd:      
  7.     peers: 192.168.1.104:7001  
  8.     addr: 192.168.1.105:4001  
  9.     peer-addr: 192.168.1.105:7001  
  10.   units:  
  11.     - name: etcd.service  
  12.       command: start  
  13.     - name: fleet.service  
  14.       command: start  
  15.     - name: static.network  
  16.       content: |  
  17.         [Match]  
  18.         Name=enp3s0  
  19.   
  20.         [Network]  
  21.         Address=192.168.1.105/24  
  22.         Gateway=192.168.1.254  
  23.         DNS=192.168.1.254     
  24. users:    
  25.   - name: core  
  26.     ssh-authorized-keys:   
  27.       - ssh-rsa #你的公钥  
  28.   
  29.   - groups:  
  30.       - sudo  
  31.       - docker  

 

 第三台机器

 cloud-config-106.yaml

 

Yaml代码  收藏代码
  1. #cloud-config  
  2.   
  3. hostname: coreos3  
  4.   
  5. coreos:    
  6.   etcd:      
  7.     peers: 192.168.1.104:7001  
  8.     addr: 192.168.1.106:4001  
  9.     peer-addr: 192.168.1.106:7001  
  10.   units:  
  11.     - name: etcd.service  
  12.       command: start  
  13.     - name: fleet.service  
  14.       command: start  
  15.     - name: static.network  
  16.       content: |  
  17.         [Match]  
  18.         Name=enp3s0  
  19.   
  20.         [Network]  
  21.         Address=192.168.1.106/24  
  22.         Gateway=192.168.1.254  
  23.         DNS=192.168.1.254     
  24. users:    
  25.   - name: core  
  26.     ssh-authorized-keys:   
  27.       - ssh-rsa  #你的公钥  
  28.   - groups:  
  29.       - sudo  
  30.       - docker  

 测试

Java代码  收藏代码
  1. fleetctl list-machines  

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
灵活、高效的云原生集群管理经验:用 K8s 管理 K8s
单 K8s 集群为用户提供了 Namespace 级别的隔离能力,理论上支持不超过 5K Node、15W Pod。多 K8s 集群则解决了单集群的资源隔离、故障隔离难题,打破可支持节点数、Pod 数的限制,但与此同时也带来了集群管理复杂度的上升;尤其在专有云场景中,K8s 工程师不可能像在公有云中一样快速触达客户环境,运维成本被进一步放大。因此如何低成本、高效率、自动化低管理多套 K8s 集群,成为业内普遍难题。
863 0
云原生生态周报 Vol. 15 | K8s 安全审计报告发布
业界要闻 1.CNCF 公布 Kubernetes 的安全审计报告 报告收集了社区对 Kubernetes、CoreDNS、Envoy、Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞。
1165 0
云原生生态周报 Vol. 15 | K8s 安全审计报告发布
业界要闻 CNCF 公布 Kubernetes的安全审计报告,报告收集了社区对 Kubernetes、CoreDNS、Envoy、Prometheus 等项目的安全问题反馈,包含从一般弱点到关键漏洞。
1562 0
云原生生态周报 Vol. 14 | K8s CVE 修复指南
业界要闻 1 Mesosphere公司正式更名为 D2IQ, 关注云原生 Mesosophere公司日前发布[官方声明](https://mp.weixin.qq.com/s/nxEEESqxQv5pxwtoDn0gJQ)正式更名为:D2iQ(Day-Two-I-Q),称关注点转向Kubernetes与云原生领域, 并会继续将“Mesosphere”作为产品技术和品牌的一部。
4118 0
《Cocos2d 跨平台游戏开发指南(第2版)》一导读
自从2007年创始以来,Apple App Store一直保持着持续增长的势头,每天平均约有500个App提交。其中,大约80%的App是游戏。形成这种局面的部分原因是Apple构建了一个非常棒的生态系统,免费提供操作系统和IDE开发环境,便于普通开发者接触并使用它们。
1438 0
DOS命令
DOS:disk operate system,磁盘操作系统,DOS命令又分内部命令和外部命令。内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存。也就是说,只要启动了DOS系统,我们就可以使用内部命令。
717 0
LLVM Programmer's Mannual---阅读笔记
 文档地址: http://llvm.org/docs/ProgrammersManual.html  该文档的主要目的: 该文档主要介绍了LLVM源码的一些重要的类和接口,并不打算解释LLVM是什么,LLVM怎么工作,LLVM代码是什么样的。
994 0
+关注
56
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载