kubernetes集群搭建以及遇到的问题
centos7.2搭建kubernetes集群以及遇到的問題
環境準備:
- centos7.2
- etcd
- flannel
- kubenetes1.3
說明:一臺pc用于搭建kubernetes master節點,n臺kuernetes節點,組成一個kubernetes集群,master節點需要運行etcd kube-apiserver kube-controller-manager
| kube-master | 192.168…. |
| kube-node-1 | 192.168… |
| ….. | ….. |
| kube-node-i | 192.168… |
安裝所需軟件
安裝etcd
etcd安裝在kubernetest master節點上
本教程只安裝單機的etcd,如果需要用etcd集群,請自行網上找etcd集群搭建教程
安裝flannel
sudo wget http://code.yunfancdn.cn/huangjia/document/raw/master/kubernete/flannel-0.5.4-linux-amd64.tar.gzsudo cd flannel-0.5.4sudo flanneld /usr/bin安裝kubenetes
sudo wget http://code.yunfancdn.cn/huangjia/document/raw/master/kubernete/kubernetes.tar.gzsudo tar -zxf kubernetes.tar.gzsudo cd kubernetessudo cp kube* /usr/bin部署各組件
etcd啟動:
etcd -name etcd \ -data-dir /var/lib/etcd \ -listen-client-urls http://0.0.0.0:2378,http://0.0.0.0:4001 \ -advertise-client-urls http://0.0.0.0:2378,http://0.0.0.0:4001 \ >> /var/log/etcd.log 2>&1 &kubernetes api server啟動:
sudo kube-apiserver \ --logtostderr=true --v=0 \ --etcd_servers=http://172.17.11.254:4001 \ --insecure-bind-address=0.0.0.0 --insecure-port=8080 \ --service-cluster-ip-range=10.254.1.0/16 \ >> /home/huangjia/log/kube-apiserver.log 2>&1 &kube-controller-manager:
sudo kube-controller-manager \ --logtostderr=true --v=0 \ --master=http://0.0.0.0:8080 \ >> /home/huangjia/log/kube-controller-manager.log 2>&1 &kube-scheduler:
sudo kube-scheduler \ --logtostderr=true --v=0 \ --master=http://0.0.0.0:8080 \ >> /home/huangjia/log/kube-scheduler.log 2>&1 &kube-proxy:
sudo kube-proxy \ --logtostderr=true --v=0 \ --master=http://0.0.0.0:8080 \ >> /home/huangjia/log/kube-proxy.log 2>&1 &node啟動組件
docker:
sudo docker -d \ -H unix:///var/run/docker.sock -H 0.0.0.0:2375 \ >> /home/huangjia/log/docker.log 2>&1 &kubelet:
sudo kubelet \ --address=0.0.0.0 \ --port=10250 \ --logtostderr=true --v=0 \ --api-servers=http://0.0.0.0:8080 \ >> /home/huangjia/log/kubelet.log 2>&1 &kube-proxy:
sudo kube-proxy \ --logtostderr=true --v=0 \ --master=http://192.168.3.27:8080 \ >> /home/huangjia/log/kube-proxy.log 2>&1 &flanneld:
etcdctl -C http://192.168.3.206:4001 \ set /coreos.com/network/config '{"Network":"10.0.0.0/16"}'flanneld -etcd-endpoints=http://192.168.3.206:4001 \ >> /home/huangjia/log/flanneld.go 2>&1 &source /run/flannel/subnet.envifconfig docker0 ${FLANNEL_SUBNET} 此命令行將docker0的網羅更改為flannel的網絡docker
docker -d \ -H unix:///var/run/docker.sock -H 0.0.0.0:2375 \ --bip=${FLANNEL_SUBNRT} --mtu=${FLANNEL_MTU} \ >> /home/huangjia/log/docker.log 2>&1 &F && Q
- 1
- 2
- 3
原因:
結合本教程所搭建的環境,kubectl默認的是采用master節點的ip:8080的方式去連接apiserver發送請求,但是我在部署的過程中,由于master節點的8080端口已經被其他的應用所占用,所以我更改了apiserver的端口為9080,所以當直接用:kubectl get 等操作的時候會報以上錯誤。
解決方式有兩種:
一:通過kubectl -s http://matserIp:apiserverPort get
二:通過kubectl config set-cluster name –server=http://matserIp:apiserverPort 然后通過
kubectl –cluster=name get 就能正常的操作了
總結
以上是生活随笔為你收集整理的kubernetes集群搭建以及遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一篇文章带你了解Flannel
- 下一篇: 风靡全网的H5究竟是什么?