多节点Kubernetes安装

来源:互联网 发布:最好的听书软件 编辑:程序博客网 时间:2024/05/16 15:57

环境:两台机器,一台既是master也是minion,还有一台minion。

系统:ubuntu 14.04 LTS

前期准备:docker(1.10.2), etcd(2.3.0), flannel(0.5.5).


一、安装Docker

参见官方文档:Docker安装(ubuntu)


注意:一定要在每台机子上都事先安装Docker,否则安装启动Kubelet的时候会出现问题。


二、安装etcd

下载地址:https://github.com/coreos/etcd/releases

1.把tar包下下来,解压,然后把etcd和etcdctl复制到usr/bin目录下

#cp etcd etcdctl /usr/bin


2.在master节点上启动etcd服务:

#etcd &


三、安装flannel

1.下载tar包:https://github.com/coreos/flannel/releases

把flanneld文件复制到/usr/bin目录下


2.启动flannel server

把k8s的server当做flannel的server,向etcd注册flannel服务

#curl -L http://127.0.0.1:4001/v2/keys/coreos.com/network/config -XPUT -d value='{ "Network": "10.100.0.0/16"}‘


启动flannel server,端口为1234

# flanneld –listen=0.0.0.0:1234 &


3.启动flannel client

把k8s的minions当做client

# flanneld –remote=master_ip:1234 &
注:master_ip为你的k8s的master的实际ip,也是flannel server的ip。


4.配置docker0的网络配置

minion的网络如下:

flannel0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00          inet addr:10.100.70.0  P-t-P:10.100.70.0  Mask:255.255.0.0          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1472  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0          collisions:0 txqueuelen:500          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


然后根据上边的参数,修改master的docker0配置:

# ifconfig docker0 10.100.70.1 netmask 255.255.255.0 mtu 1472

重启docker,完成配置。


四、安装kubernetes

1.在master节点上下载tar包,并解压:https://github.com/kubernetes/kubernetes/releases

然后进入解压出来的kubernetes/server目录中,解压kubernetes-server-linux-amd64.tar.gz这个包

#cd kubernetes/server#tar xzvf kubernetes-server-linux-amd64.tar.gz


2.接着进入/kubernetes/server/kubernetes/server/bin这个目录

将kube-apiserver,kube-controller-manager,kubectl,kubelet,kube-scheduler复制到/usr/bin目录


3.启动k8s的master服务

# kube-apiserver  --etcd-servers=http://127.0.0.1:2379 --insecure-bind-address=0.0.0.0 --insecure-port=8080 --logtostderr=true --service-cluster-ip-range=<u>10.100.70.0</u>/24 --v=2 &# kube-controller-manager --logtostderr=true --master=http://127.0.0.1:8080 --v=2 &# kube-scheduler --master=http://127.0.0.1:8080 --v=2 &
注:下划线的ip要根据docker0中的ip段进行设置。


4.启动k8s的minions上的服务(只以一台举例,其他只需更改个别参数)

首先需要将kubernetes的tar包同样下载到每台minion上,将/kubernetes/server/kubernetes/server/bin中的kubelet和kubectl复制到/usr/bin目录下。

然后启动服务:

# kubelet --address=0.0.0.0 --port=10250 --hostname_override=your_hostname1 --enable_server=true --v=0 --api-servers=http://master_ip:8080# kubelet --address=0.0.0.0 --port=10250 --hostname_override=your_hostname2 --enable_server=true --v=0 --api-servers=http://master_ip:8080# kubelet --address=0.0.0.0 --port=10250 --hostname_override=your_hostname3 --enable_server=true --v=0 --api-servers=http://master_ip:8080

5.查看进程

master上:

root     16476  0.4  0.5 104992 85112 ?        Sl   Mar07   5:13 kube-apiserver --etcd-servers=http://127.0.0.1:2379 --insecure-bind-address=0.0.0.0 --insecure-port=8080 --logtostderr=true --service-cluster-ip-range=10.100.70.0/24 --v=2root     16484  0.2  0.1  36260 18416 ?        Sl   Mar07   3:10 kube-controller-manager --logtostderr=true --master=http://127.0.0.1:8080 --v=2root     16598  0.0  0.0  18568 10772 ?        Sl   Mar07   0:15 kube-scheduler --master=http://127.0.0.1:8080 --v=2root     16888  0.7  0.2 880676 39244 ?        Sl   Mar07   8:56 kubelet --address=0.0.0.0 --port=10250 --hostname_override=umq2 --enable_server=true --v=0 --api-servers=http://x.x.x.x:8080root     18717  0.0  0.0  11740   928 pts/5    S+   13:27   0:00 grep --color=auto kube

minions上:

root      2859  0.7  0.2 750700 39064 ?        Sl   Mar07   9:14 kubelet --address=0.0.0.0 --port=10250 --hostname_override=umq3 --enable_server=true --v=0 --api-servers=http://x.x.x.x:8080root      4527  0.0  0.0  11744   916 pts/2    R+   13:27   0:00 grep --color=auto kube



安装完成,测试使用再另写一篇吧。





0 0