Ubuntu 16.04下搭建kubernetes集群环境

来源:互联网 发布:旋转矩阵大全 编辑:程序博客网 时间:2024/06/07 04:43

相关组件版本号

etcd                  3.0.3
docker              1.10.3
kubernetes       1.3.2

由于安装可能需要翻墙,推荐一个修改host来翻墙的小工具,省掉vpn的票子。大笑
https://coding.net/u/scaffrey/p/hosts/git/tree/master/tools


etcd安装
wget https://github.com/coreos/etcd/releases/download/v3.0.3/etcd-v3.0.3-linux-amd64.tar.gz


tar -xvf etcd-v3.0.3-linux-amd64.tar.gz
cd etcd-v3.0.3-linux-amd64
sudo cp etcdctl /usr/bin
sudo cp etcd /usr/bin
etcd 1>etcd.log 2>&1 &


下载并配置flannel
wget https://github.com/coreos/flannel/releases/download/v0.5.5/flannel-0.5.5-linux-amd64.tar.gz
tar -xvf flannel-0.5.5-linux-amd64.tar.gz
cd flannel-0.5.5-linux-amd64
sudo cp flanneld /usr/local/bin
flanneld -etcd-endpoints=http://stone-pc:2379 1>flannel.log 2>&1 &
source /run/flannel/subnet.env


配置flannel(首先先关闭docker服务)
etcdctl --endpoints="http://stone-pc:2379" set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'




docker安装
sudo apt-get update
sudo apt-get install docker.io
systemctl stop docker
sudo gedit /etc/defaults/docker
添加flannel的配置

删除docker0网桥,用flannel来接管网络

iptables -t nat -F

ifconfig docker0 down

brctl delbr docker0

sudo docker -d \ 

-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \ 

--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} \

>> /var/log/docker.log 2>&1 &



kubernetes安装 
下载已经编译好的二进制安装包
wget https://github.com/kubernetes/kubernetes/releases/download/v1.3.2/kubernetes.tar.gz
tar -xvf kubernetes.tar.gz && cd kubernetes
cd server
tar -xvf kubernetes-server-linux-arm64.tar.gz
cd kubernetes/server/bin
su root
find . -perm 755|xargs -i  cp {} /usr/local/bin/
-----至此将kubernetes的可执行文件拷贝系统路径下,可以直接调用

在master节点上 启动kube-apiserver、kube-scheduler和kube-controller-manager
启动kube-apiserver
kube-apiserver \
--insecure-bind-address=0.0.0.0 \
--insecure-port=8080 \
--service-cluster-ip-range=10.1.0.0/16 \
--etcd_servers=http://stone-pc:2379 \
--logtostderr=true \
1>apiserver.log 2>&1 &

启动kube-scheduler
kube-scheduler \
--address=stone-pc \
--master=http://stone-pc:8080 \
--logtostderr=true \
1>scheduler.log 2>&1 &

启动kube-controller-manager
kube-controller-manager \
--master=http://stone-pc:8080 \
--allocate-node-cidrs=true \
--cluster-cidr=10.1.0.0/16 \
1 >ctrl.log 2>&1 &

在minion节点安装kubelet,kube-proxy:
启动kubelet
kubelet \
--address=0.0.0.0 \
--port=10250 \
--api_servers=http://stone-pc:8080 \
--pod-infra-container-image=docker.io/kubernetes/pause:latest \
--logtostderr=true \
1>kubelet.log 2>&1 &

启动kubelet-proxy
kube-proxy \
--master=http://stone-pc:8080 \
1>proxy.log 2>&1 &


0 0