摘要:是用于組建容器間網(wǎng)絡(luò)的工具,用于解決跨主機(jī)的之間的連通性問題。最近在嘗試手動(dòng)部署集群,這是這個(gè)系列的第一篇。我們需要兩臺(tái)虛擬機(jī)如下創(chuàng)建一個(gè)目錄,把放置其中,運(yùn)行進(jìn)入后,可以先更新一下源,一下。另一臺(tái)虛擬機(jī)的過程類似。
Flannel with Docker
準(zhǔn)備工作Flannel 是用于組建容器間網(wǎng)絡(luò)的工具,用于解決跨主機(jī)的docker containers之間的連通性問題。最近在嘗試手動(dòng)部署kubernetes集群,這是這個(gè)系列的第一篇。
首先安裝vagrant, 用來創(chuàng)建虛擬節(jié)點(diǎn)。我們需要兩臺(tái)虛擬機(jī).
Vagrantfile 如下:
Vagrant.configure(2) do |config| config.vm.box = "centos/7" config.vm.network "private_network", type: "dhcp" vb.memory = "1024" end
創(chuàng)建一個(gè) centos 目錄,把 Vagrantfile 放置其中,運(yùn)行:
vagrant up vagrant ssh
進(jìn)入后,可以先更新一下 yum源,yum makecache, yum update 一下。ip addr 看下本機(jī)的ip。
另一臺(tái)虛擬機(jī)的過程類似。
兩臺(tái)ip分別為: 172.28.128.3, 172.28.128.4
關(guān)于Flannel原理:
docker官網(wǎng)有詳細(xì)的步驟,大致如下:
$ 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
確認(rèn)安裝完成: sudo docker version, 然后關(guān)閉 dockerd, sudo systemctl stop docker.service
安裝 golang 編譯環(huán)境編譯 flannel 會(huì)需要,如果你的vagrant 使用了host的共享目錄,那么這個(gè)步驟只需要在其中一臺(tái)虛擬機(jī)執(zhí)行就行,第二臺(tái)虛擬機(jī)直接拷貝文件就可以了。 如果你的host機(jī)有g(shù)olang的編譯環(huán)境,直接在host編譯即可,記得使用 GOOS=linux GOARCH=amd64 作為編譯時(shí)候的環(huán)境變量。
如果你選擇在虛擬機(jī)中編譯,那么內(nèi)存最好設(shè)置為 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 環(huán)境變量, 并設(shè)置 GOPATH 環(huán)境變量。
安裝 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 下
運(yùn)行IP: 172.28.128.3
首先運(yùn)行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
設(shè)置flannel子網(wǎng)范圍:
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 兩臺(tái)機(jī)器
ifconfig 查看一下,ip為172.28.128.3 的 interface 的名稱,我的情況為 eth1. 運(yùn)行 flannel. subnet.env 是根據(jù) etcd中的配置自動(dòng)生成的環(huán)境變量,需要導(dǎo)出一下.
sudo flanneld -etcd-endpoints="http://172.28.128.3:2379,http://172.28.128.3:4001" -iface=eth1 & source /run/flannel/subnet.env
修改docker0 網(wǎng)絡(luò)的ip, 并開啟 dockerd
sudo ifconfig docker0 ${FLANNEL_SUBNET} sudo dockerd --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} &測(cè)試連通性
在兩臺(tái)機(jī)器上分別 sudo docker run -it bash
進(jìn)入bash后,ip addr 查看各自ip,互相 ping 一下對(duì)方的ip,應(yīng)該是可以ping通的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/26771.html
摘要:每個(gè)都是從一個(gè)更大的池中劃分的,會(huì)在每個(gè)主機(jī)上運(yùn)行一個(gè)叫的,職責(zé)是從池中分配。為了在各個(gè)主機(jī)間共享信息,用存放網(wǎng)絡(luò)配置已分配的的等信息。同一主機(jī)的容器通過連接,跨主機(jī)流量通過轉(zhuǎn)發(fā)。 主要參考每天5分鐘玩轉(zhuǎn)docker容器技術(shù)博客。 記錄下自己的實(shí)驗(yàn)過程。 如果想學(xué)習(xí),請(qǐng)直接參考該博客http://www.cnblogs.com/CloudMan6/ 網(wǎng)絡(luò)概述 flannel為每個(gè)hos...
摘要:在節(jié)點(diǎn)上執(zhí)行命令使用節(jié)點(diǎn)執(zhí)行命令的輸出,在上執(zhí)行,使其加入集群。在兩個(gè)節(jié)點(diǎn)上,執(zhí)行完畢上述命令后,在上查看部署成功。部署完成后的觀察檢查現(xiàn)在正在運(yùn)行的可以發(fā)現(xiàn),,,運(yùn)行在上,在三個(gè)節(jié)點(diǎn)上均有運(yùn)行在三個(gè)節(jié)點(diǎn)均有運(yùn)行 集群規(guī)劃 網(wǎng)絡(luò)配置 節(jié)點(diǎn)網(wǎng)絡(luò): 192.168.18.0/24 service網(wǎng)絡(luò): 10.96.0.0/12 pod網(wǎng)絡(luò): 10.244.0.0/16 etcd 部署在...
摘要:才云科技云開源高級(jí)工程師唐繼元受邀社群,在線分享高級(jí)實(shí)踐,介紹如何構(gòu)建環(huán)境。除命令外的停止都是異常停止。 才云科技云開源高級(jí)工程師唐繼元受邀DBAplus社群,在線分享《Kubernetes Master High Availability 高級(jí)實(shí)踐》,介紹如何構(gòu)建Kubernetes Master High Availability環(huán)境。 以下是分享實(shí)錄: 大家好,我是才云科技的唐繼...
摘要:源配置需要和先操作,在把源過去??傆昧吭略略掳惭b引擎設(shè)置相關(guān)系統(tǒng)內(nèi)核參數(shù)安裝相關(guān)組件導(dǎo)入所需要的鏡像為什么要導(dǎo)入鏡像呢因?yàn)闀?huì)去谷歌的鏡像源上面下載,大家都懂得所以我下載下來,使用的時(shí)候直接導(dǎo)入就好了。 2019年3月6日:出版安裝kubeadmin部署k8s集群教程 本次安裝采用kubeadmin ! 安裝的k8s版本為1.13.3版,是當(dāng)前最新版本! 本篇文章,所使用的任何鏡像和ya...
閱讀 3727·2021-11-25 09:43
閱讀 2608·2021-11-18 13:11
閱讀 2228·2019-08-30 15:55
閱讀 3278·2019-08-26 11:58
閱讀 2834·2019-08-26 10:47
閱讀 2237·2019-08-26 10:20
閱讀 1279·2019-08-23 17:59
閱讀 3014·2019-08-23 15:54