平台云基石-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  

 

目录
相关文章
|
存储 监控 安全
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)(上)
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)
1154 0
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)(上)
|
11月前
|
容器
阿里云最新产品手册——阿里云核心产品——分布式云容器平台ACK One——产品优势
阿里云最新产品手册——阿里云核心产品——分布式云容器平台ACK One——产品优势自制脑图
59 3
|
12月前
|
消息中间件 机器学习/深度学习 安全
搭建OpenStack多节点的企业私有云平台——基础基础环境搭建
搭建OpenStack多节点的企业私有云平台——基础基础环境搭建
720 0
|
存储 域名解析 安全
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)(下)
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)
783 0
基于【国基北盛】云基础架构平台软件搭建openstack私有云平台(先电V2.4版本)(下)
|
消息中间件 分布式计算 Kubernetes
 Kubernetes 不是传统的、包罗万象的 PaaS(平台即服务)系统。
 Kubernetes 不是传统的、包罗万象的 PaaS(平台即服务)系统。
464 0
|
运维 Kubernetes Docker
Kubernetes容器云的互联网企业实践
现有平台面临的挑战 不同企业开始往容器方向发展的初衷是不一样的,有些企业是因为没有运维工程师或运维团队,而想要借助某个平台实现运维自动化。 有些企业可能是由于计算资源的利用率比较低。虽然一些大型的互联网公司都是动辄拥有成千上万台服务器,但实际上以我个人的经历来看计算资源的利用率都不高,这里有很多历史的原因,其中之一就是为了获得更好的隔离性,而实现隔离最好的办法就是采用从物理机到基于虚拟的私有云技术。
1803 0
|
Kubernetes Docker 容器
唯品会基于Kubernetes(k8s)网络方案演进
VIP PaaS在接近两年时间里,基于kubernetes主要经历四次网络方案的变迁: 1. kubernetes + flannel 2. 基于Docker libnetwork的网络定制 3. kubernetes + contiv + kube-haproxy 4. 应用容器IP固定 先简单说一下背景,PaaS平台的应用管理包括应用配置管理,应用的运行态管理。
2924 0
|
Docker 容器 Cloud Native
微软携手 Docker 打造 CNAB,实现跨分布式应用程序的统一管理
越来越多的组织开始使用云原生的应用程序和基础架构来构建现代化软件环境,但市场上并没有单一的解决方案来定义和打包这些多服务、多格式的分布式应用程序。
2129 0