Mar*_*rco 3 coreos etcd kubernetes
我的最终目标是在3节点CoreOS集群上运行Kubernetes(如果有人有更好的建议,我会全力以赴:在这个阶段,我正在考虑CoreOS完全浪费我的时间).
我已经开始跟随CoreOS指南运行游民群(我甚至有在行动书CoreOs和,要么是没有太大的帮助) -我已经获得了新的discovery token和修改过的user-data和config.rb文件与那里描述:
#cloud-config
---
coreos:
etcd2:
discovery: https://discovery.etcd.io/7b9a3e994a14c2bf530ed88676e3fc97
Run Code Online (Sandbox Code Playgroud)
和:
$ cat config.rb
# Size of the CoreOS cluster created by Vagrant
$num_instances = 3
$update_channel = "stable"
Run Code Online (Sandbox Code Playgroud)
其余的都在原始coreos-vagrant存储库中.
首次启动时,似乎etcd不是作为服务启动的; 启动它systemctl似乎让它继续下去,但它没有发现它的同行:
core@core-01 ~ $ etcdctl member list
8e9e05c52164694d: name=4adff068c464446a8423e9b9f7c28711 peerURLs=http://localhost:2380 clientURLs=http://localhost:2379 isLeader=true
Run Code Online (Sandbox Code Playgroud)
所有其他三个Vagrant虚拟机也是如此.
在我看来,要么修改user-data未被修改,要么以某种方式忽略发现标记.
我一直在谷歌搜索,但似乎没有出现.
我发现的主要困难是几乎所有围绕CoreOS/etcd的指令指向这些YAML文件,然后状态必须ct用来生成"真实"配置:但它们并没有真正显示如何在运行VM,或如何更改运行配置.
几个问题:
1)让三个虚拟机etcd启动并找到对方的"正确方法"是什么?阅读这里的指南真的没那么有用.
这三个虚拟机位于"仅限主机"网络上:
core@core-01 ~ $ ip address show
...
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:76:a6:cf brd ff:ff:ff:ff:ff:ff
inet 172.17.8.101/16 brd 172.17.255.255 scope global eth1
Run Code Online (Sandbox Code Playgroud)
(另外两个是102和103)
2)在3个VirtualBox虚拟机上运行Kubernetes集群是否有"更好"(对某些"更好"的定义)?
在我看来,CoreOS试图为了自己的利益而过于聪明:过去10年来我一直在使用各种类型的Linux +并且让etcd集群找到彼此的情况令人沮丧地难以实现.
我正在运行Ubuntu 17.10(好吧,一切顺利,很快就会是18.04 LTS)和Virtualbox 5.2.8.
提前致谢!
不幸的是,您使用的文档目前已过时.现在ETCD version 3用作Kubernetes数据存储.它规定了Ignition(VirtualBox Provider(默认)):
使用VirtualBox提供程序进行Vagrant(默认)时,Ignition用于配置计算机.
1.安装vagrant-ignition插件(以防万一在使用coreos-vagrantrepo中的默认Vagrantfile时未自动安装此插件):
git clone https://github.com/coreos/vagrant-ignition
cd vagrant-ignition
gem build vagrant-ignition.gemspec
vagrant plugin install vagrant-ignition-0.0.3.gem
Run Code Online (Sandbox Code Playgroud)
2.安装ct.
3.克隆coreos-vagrant repo:
git clone https://github.com/coreos/coreos-vagrant
cd coreos-vagrant
Run Code Online (Sandbox Code Playgroud)
4.创建config.rb以启动三个CoreOS VM:
cp config.rb.sample config.rb
sed -i 's/$num_instances=1/$num_instances=3/g' config.rb
Run Code Online (Sandbox Code Playgroud)
5.获取etcd发现令牌并将其放入cl.conf:
discovery_token=$(curl -s https://discovery.etcd.io/new\?size\=3)
sed -i "s|https://discovery.etcd.io/<token>|$discovery_token|g" cl.conf
Run Code Online (Sandbox Code Playgroud)
6.使用config transpiler将Ignition配置写入config.ign:
ct --platform=vagrant-virtualbox < cl.conf > config.ign
Run Code Online (Sandbox Code Playgroud)
7.创建etcd集群:
vagrant up
Run Code Online (Sandbox Code Playgroud)
ETCD 集群准备好了:
core@core-01 ~ $ etcdctl member list
3655a3141d6f953b: name=core-01 peerURLs=http://172.17.8.101:2380 clientURLs=http://172.17.8.101:2379 isLeader=false
951a7a7a97c94116: name=core-02 peerURLs=http://172.17.8.102:2380 clientURLs=http://172.17.8.102:2379 isLeader=true
fd056871037fdb55: name=core-03 peerURLs=http://172.17.8.103:2380 clientURLs=http://172.17.8.103:2379 isLeader=false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |