摘要:是用于組建容器間網絡的工具,用于解決跨主機的之間的連通性問題。最近在嘗試手動部署集群,這是這個系列的第一篇。我們需要兩臺虛擬機如下創建一個目錄,把放置其中,運行進入后,可以先更新一下源,一下。另一臺虛擬機的過程類似。
Flannel with Docker
準備工作Flannel 是用于組建容器間網絡的工具,用于解決跨主機的docker containers之間的連通性問題。最近在嘗試手動部署kubernetes集群,這是這個系列的第一篇。
首先安裝vagrant, 用來創建虛擬節點。我們需要兩臺虛擬機.
Vagrantfile 如下:
Vagrant.configure(2) do |config| config.vm.box = "centos/7" config.vm.network "private_network", type: "dhcp" vb.memory = "1024" end
創建一個 centos 目錄,把 Vagrantfile 放置其中,運行:
vagrant up vagrant ssh
進入后,可以先更新一下 yum源,yum makecache, yum update 一下。ip addr 看下本機的ip。
另一臺虛擬機的過程類似。
兩臺ip分別為: 172.28.128.3, 172.28.128.4
關于Flannel原理:
docker官網有詳細的步驟,大致如下:
$ sudo tee /etc/yum.repos.d/docker.repo <<-"EOF" [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF $ sudo yum install docker-engine $ sudo systemctl enable docker.service $ sudo systemctl start docker
確認安裝完成: sudo docker version, 然后關閉 dockerd, sudo systemctl stop docker.service
安裝 golang 編譯環境編譯 flannel 會需要,如果你的vagrant 使用了host的共享目錄,那么這個步驟只需要在其中一臺虛擬機執行就行,第二臺虛擬機直接拷貝文件就可以了。 如果你的host機有golang的編譯環境,直接在host編譯即可,記得使用 GOOS=linux GOARCH=amd64 作為編譯時候的環境變量。
如果你選擇在虛擬機中編譯,那么內存最好設置為 2G.
wget -c https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz tar xf go1.7.3.linux-amd64.tar.gz
把解壓出來的 go 目錄放到合適的位置,并把 go/bin 加入 PATH 環境變量, 并設置 GOPATH 環境變量。
安裝 Flannel$ sudo yum install linux-libc-dev gcc $ git clone https://github.com/coreos/flannel $ cd flannel $ make dist/flanneld
編譯完成后的文件在 dist 目錄中, 可以拷貝到 /usr/local/bin/ 下
安裝 etcd$ curl -L https://github.com/coreos/etcd/releases/download/v3.0.15/etcd-v3.0.15-linux-amd64.tar.gz $ tar xf etcd-v3.0.15-linux-amd64.tar.gz
把 etcd, etcdctl 拷貝到 /usr/local/bin 下
運行IP: 172.28.128.3
首先運行etcd: $ etcd --listen-client-urls "http://0.0.0.0:2379,http://0.0.0.0:4001" --advertise-client-urls "http://172.28.128.3:2379,http://172.28.128.3:4001" >/dev/null 2>&1
設置flannel子網范圍:
etcdctl rm /coreos.com/network/ --recursive etcdctl mk /coreos.com/network/config "{"Network":"11.0.0.0/16"}"
IP: 172.28.128.3, 172.28.128.4 兩臺機器
ifconfig 查看一下,ip為172.28.128.3 的 interface 的名稱,我的情況為 eth1. 運行 flannel. subnet.env 是根據 etcd中的配置自動生成的環境變量,需要導出一下.
sudo flanneld -etcd-endpoints="http://172.28.128.3:2379,http://172.28.128.3:4001" -iface=eth1 & source /run/flannel/subnet.env
修改docker0 網絡的ip, 并開啟 dockerd
sudo ifconfig docker0 ${FLANNEL_SUBNET} sudo dockerd --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} &測試連通性
在兩臺機器上分別 sudo docker run -it bash
進入bash后,ip addr 查看各自ip,互相 ping 一下對方的ip,應該是可以ping通的。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26771.html
摘要:每個都是從一個更大的池中劃分的,會在每個主機上運行一個叫的,職責是從池中分配。為了在各個主機間共享信息,用存放網絡配置已分配的的等信息。同一主機的容器通過連接,跨主機流量通過轉發。 主要參考每天5分鐘玩轉docker容器技術博客。 記錄下自己的實驗過程。 如果想學習,請直接參考該博客http://www.cnblogs.com/CloudMan6/ 網絡概述 flannel為每個hos...
摘要:在節點上執行命令使用節點執行命令的輸出,在上執行,使其加入集群。在兩個節點上,執行完畢上述命令后,在上查看部署成功。部署完成后的觀察檢查現在正在運行的可以發現,,,運行在上,在三個節點上均有運行在三個節點均有運行 集群規劃 網絡配置 節點網絡: 192.168.18.0/24 service網絡: 10.96.0.0/12 pod網絡: 10.244.0.0/16 etcd 部署在...
摘要:才云科技云開源高級工程師唐繼元受邀社群,在線分享高級實踐,介紹如何構建環境。除命令外的停止都是異常停止。 才云科技云開源高級工程師唐繼元受邀DBAplus社群,在線分享《Kubernetes Master High Availability 高級實踐》,介紹如何構建Kubernetes Master High Availability環境。 以下是分享實錄: 大家好,我是才云科技的唐繼...
摘要:源配置需要和先操作,在把源過去。總用量月月月安裝引擎設置相關系統內核參數安裝相關組件導入所需要的鏡像為什么要導入鏡像呢因為會去谷歌的鏡像源上面下載,大家都懂得所以我下載下來,使用的時候直接導入就好了。 2019年3月6日:出版安裝kubeadmin部署k8s集群教程 本次安裝采用kubeadmin ! 安裝的k8s版本為1.13.3版,是當前最新版本! 本篇文章,所使用的任何鏡像和ya...
閱讀 3684·2021-11-25 09:43
閱讀 2600·2021-11-18 13:11
閱讀 2195·2019-08-30 15:55
閱讀 3272·2019-08-26 11:58
閱讀 2823·2019-08-26 10:47
閱讀 2230·2019-08-26 10:20
閱讀 1271·2019-08-23 17:59
閱讀 2999·2019-08-23 15:54