成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Docker中使用Open vSwitch

云計算
Open vSwitch是一個虛擬交換軟件,主要用于虛擬機VM環(huán)境,提供網(wǎng)絡(luò)的虛擬化。本篇文檔重點介紹如何在Docker中使用Open vSwitch。

Open vSwitch是一個虛擬交換軟件,主要用于虛擬機VM環(huán)境,提供網(wǎng)絡(luò)的虛擬化。本篇文檔重點介紹如何在Docker中使用Open vSwitch。

這個文檔描述了如何在Docker(大于或等于1.9.0版本)中使用Open vSwitch。我們假設(shè)你已經(jīng)安裝好了Open vSwitch和Docker。請沒有安裝好的讀者可以根據(jù)INSTALL.md和www.docker.com的說明來進(jìn)行安裝。

Docker 1.9.0開始支持多主機網(wǎng)絡(luò)(multi-host networking)。我們可以通過OVN(Open vSwitch virtual network)來將Docker的網(wǎng)絡(luò)和Open vSwitch結(jié)合起來。

簡介

對于OVN和Docker的多主機網(wǎng)絡(luò)(multi-host networking),Docker需要分布式鍵值對存儲的支持。假設(shè)我們這里采用consul來提供分布式鍵值對存儲,并且你的主機IP地址為$HOST_IP。用戶可以使用下面的命令來啟動Docker進(jìn)程:

  1. docker daemon --cluster-store=consul://127.0.0.1:8500 \ 
  2. --cluster-advertise=$HOST_IP:0 

OVN為容器提供了網(wǎng)絡(luò)虛擬化技術(shù)。OVN和Docker的結(jié)合使用存在兩種模式:underlay模式和overlay模式。

在underlay模式下,OVN要求配置OpenStack來提供容器網(wǎng)絡(luò)。在這個模式下,用戶可以創(chuàng)建邏輯網(wǎng)絡(luò),并且讓運行在虛擬機中的容器、獨立的虛擬機(沒有容器運行在其中)和物理機器連接到同一個邏輯網(wǎng)絡(luò)上。這是一種多租戶、多主機的解決辦法。

在overlay模式下,OVN可以為運行跨主機的容器們提供一個邏輯網(wǎng)絡(luò)。這是一種單租戶(是否能擴展到多租戶取決于安全特性)、多主機的解決辦法。在這種模式下,你并不需要預(yù)創(chuàng)建好的OpenStack。

值得注意的是,用戶必須在他想要運行容器的虛擬機或主機上安裝并運行Open vSwitch。

Overlay 模式

Overlay模式下,需要Open vSwitch 2.5版本或后續(xù)版本的支持。

1、啟動核心模塊

OVN架構(gòu)中會有一個核心的模塊來存儲網(wǎng)絡(luò)信息。因此你需要在你其中一臺主機(IP地址為$CENTRAL_IP,并且已經(jīng)安裝和啟動了Open vSwitch)上啟動相關(guān)的核心服務(wù)。

首先我們讓ovsdb-server監(jiān)聽一個TCP端口:

  1. ovs-appctl -t ovsdb-server ovsdb-server/add-remote ptcp:6640 

接下來,啟動ovn-northd后臺進(jìn)程。這個進(jìn)程負(fù)責(zé)將來自Docker的網(wǎng)絡(luò)信息(存儲在OVN_Northbound 數(shù)據(jù)庫中)轉(zhuǎn)換成邏輯流存儲于OVN_Southbound數(shù)據(jù)庫。

  1. /usr/share/openvswitch/scripts/ovn-ctl start_northd 

2、一次性配置

在每一個你打算創(chuàng)建容器的主機上,你需要運行以下的命令(如果你的OVS數(shù)據(jù)庫被清空,你需要再次運行這個命令。除此之外,重復(fù)運行這個命令都是沒有任何影響的)。

其他的主機可以通過$LOCAL_IP地址來訪問到這個主機,它就相當(dāng)于本地通道的端點。

$ENCAP_TYPE是指用戶想使用的通道的類型。它可以是”geneve“或者”stt“。(注意,你的內(nèi)核需要支持以上兩個類型,用戶可以通過運行以下命令來檢測內(nèi)核是否支持以上類型:"llsmod | grep $ENCAP_TYPE")。

  1. ovs-vsctl set Open_vSwitch . external_ids:ovn-remote="tcp:$CENTRAL_IP:6640"  
  2. external_ids:ovn-encap-ip=$LOCAL_IP external_ids:ovn-encap-type="$ENCAP_TYPE" 

最后,啟動ovn-controller(你需要在每一次啟動時運行以下命令):

  1. /usr/share/openvswitch/scripts/ovn-ctl start_controller 

3、啟動Open vSwitch網(wǎng)絡(luò)驅(qū)動

在默認(rèn)情況下,Docker使用Linux網(wǎng)橋,但它支持外擴展。為了替換Linux網(wǎng)橋,我們需要先啟動Open vSwitch驅(qū)動。

Open vSwitch驅(qū)動使用了Python Flask模塊來監(jiān)聽Docker的網(wǎng)絡(luò)API請求。因此,用戶需要先安裝Python 的Flask模塊。

  1. easy_install -U pip 
  2. pip install Flask 

在每一個你想要創(chuàng)建容器的主機上啟動Open vSwitch驅(qū)動:

  1. ovn-docker-overlay-driver --detach 

Docker內(nèi)部包含了一些模塊,這些模塊擁有類似于OVN的邏輯交換機和邏輯端口的概念。請讀者仔細(xì)閱讀Docker的文檔來查找相關(guān)的命令。這里我們給出了一些案例:

1)創(chuàng)建用戶自己的邏輯交換機

下面的命令創(chuàng)建了一個名為”foo“的邏輯交換機,它的網(wǎng)段為”192.168.1.0/24”:

  1. NID=`docker network create -d openvswitch --subnet=192.168.1.0/24 foo` 

2)顯示已有邏輯交換機

  1. docker network ls 

你也可以通過以下命令從OVN的northbound數(shù)據(jù)庫中查找到這個邏輯交換機:

  1. ovn-nbctl --db=tcp:$CENTRAL_IP:6640 lswitch-list 

3)Docker創(chuàng)建邏輯端口,并且將這個端口附加到邏輯網(wǎng)絡(luò)上

比如說,將一個邏輯端口添加到容器busybox的“foo”網(wǎng)絡(luò)上:

  1. docker run -itd --net=foo --name=busybox busybox 

4)顯示所有的邏輯端口

Docker現(xiàn)在并沒有一個CLI命令來羅列所有的邏輯端口,但是你可以從OVN的數(shù)據(jù)庫中找到它們:

  1. ovn-nbctl --db=tcp:$CENTRAL_IP:6640 lport-list $NID 

5)用戶也可以創(chuàng)建一個邏輯端口,并將它添加到一個運行中的容器上:

  1. docker network create -d openvswitch --subnet=192.168.2.0/24 bar 
  2. docker network connect bar busybox 

用戶可以刪除邏輯端口,或者將它們從運行容器上分離出來:

  1. docker network disconnect bar busybox 

6)用戶也可以刪除邏輯交換機:

  1. docker network rm bar 

Underlay模式

在這個模式下,OVN要求用戶預(yù)安裝好OpenStack。

1、一次性配置

一個OpenStack的租戶創(chuàng)建了一個虛擬機,這個虛擬機擁有單張或多張網(wǎng)卡。如果租戶想要發(fā)送虛擬機中容器的網(wǎng)絡(luò)包,他需要獲取這些網(wǎng)卡的port-id。Port-id可以通過以下命令獲得:

  1. nova list 

然后運行:

  1. neutron port-list --device_id=$id 

在虛擬機中,下載OpenStack的RC文件,這些文件包含了租戶的信息(我們用openrc.sh來指代它)。編輯這個文件,并且將之前獲取到的port-id以 export OS_VIF_ID=$port-id的格式加入到文件中。文件的內(nèi)容如下:

  1. #!/bin/bash 
  2. export OS_AUTH_URL=http://10.33.75.122:5000/v2.0 
  3. export OS_TENANT_ID=fab106b215d943c3bad519492278443d 
  4. export OS_TENANT_NAME="demo" 
  5. export OS_USERNAME="demo" 
  6. export OS_VIF_ID=e798c371-85f4-4f2d-ad65-d09dd1d3c1c9 

2、創(chuàng)建Open vSwitch網(wǎng)橋

如果用戶的虛擬機只有一個以太網(wǎng)接口(比如說eth0),你需要將這個設(shè)備作為一個端口加入到Open vSwitch的”breth0”網(wǎng)橋上,并且移除它的IP地址,將其他相關(guān)的信息轉(zhuǎn)移到這個網(wǎng)橋上。(如果有多個網(wǎng)路接口,用戶自己創(chuàng)建Open vSwitch網(wǎng)橋,并且添加接口到網(wǎng)橋上)

如果你使用DHCP來獲取IP地址,你需要關(guān)閉監(jiān)聽eth0的DHCP客戶端,并且開啟一個監(jiān)聽Open vSwitch breth0網(wǎng)橋的DHCP客戶端。

你可以讓以上的步驟持久化,比如說你的虛擬機是Debian/Ubuntu,你可以參考 openvswitch-switch.README.Debian,如果你的虛擬機基于RHEL,你可以閱讀 README.RHEL完成持久化。

3、開啟Open vSwitch網(wǎng)絡(luò)驅(qū)動

Open vSwitch驅(qū)動使用了Python Flask模塊來監(jiān)聽Docker的網(wǎng)絡(luò)API調(diào)用。這個驅(qū)動還使用了OpenStack的python-neutronclient庫。因此,如果你的主機還沒有安裝Python Flask或者python-neutronclient,你需要使用以下命令來安裝:

  1. easy_install -U pip 
  2. pip install python-neutronclient 
  3. pip install Flask 

運行openrc文件:

  1. ../openrc.sh 

開啟網(wǎng)絡(luò)驅(qū)動,并且提供OpenStack租戶的密碼:

  1. ovn-docker-underlay-driver --bridge breth0 --detach 

從現(xiàn)在開始,你可以使用和overlay模式類似的Docker命令了。請閱讀“man ovn-architecture”來理解OVN的技術(shù)細(xì)節(jié)。

原文鏈接:http://dockone.io/article/837

責(zé)任編輯:Ophira 來源: dockone
相關(guān)推薦

2020-11-30 11:55:07

Docker命令Linux

2015-08-31 13:42:06

IDEDockerdoclipser

2014-01-23 10:34:15

Linux發(fā)行版配置KVMOpen vSwitc

2022-05-17 08:25:10

TypeScript接口前端

2022-06-23 08:00:53

PythonDateTime模塊

2021-06-09 09:36:18

DjangoElasticSearLinux

2021-03-09 07:27:40

Kafka開源分布式

2015-08-27 09:46:09

swiftAFNetworkin

2024-01-18 08:37:33

socketasyncio線程

2011-08-10 09:31:41

Hibernateunion

2019-09-16 19:00:48

Linux變量

2014-07-02 09:47:06

SwiftCocoaPods

2020-04-09 10:18:51

Bash循環(huán)Linux

2024-09-06 11:34:15

RustAI語言

2025-03-21 09:58:59

Python數(shù)據(jù)類型安全

2021-09-10 10:30:22

Java代碼

2023-12-01 09:18:27

AxiosAxios 庫

2022-10-25 09:07:28

Linuxxargs命令

2018-05-16 10:32:06

Linux命令find

2018-06-26 09:15:24

Linux命令history
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久久久久久久国产成人免费 | 国产第一亚洲 | 在线观看黄色电影 | 国产黄色小视频 | 国产精品久久久 | 中文字幕免费中文 | 亚洲免费观看视频网站 | 久久久精品 | 中文字幕亚洲欧美日韩在线不卡 | 国产精品一区二区在线 | 久久免费小视频 | 中文天堂在线一区 | 精品在线视频播放 | www.成人.com| 国产欧美日韩一区二区三区在线 | 97人人澡人人爽91综合色 | 午夜视频免费网站 | 国产精品久久久久久久午夜片 | 蜜月aⅴ国产精品 | 一区欧美 | 国产激情一区二区三区 | 亚洲一区| 国产激情视频网址 | www精品| 亚洲精品视频一区二区三区 | 久久中文高清 | 亚洲精品视频在线 | 91成人免费观看 | 国产最新精品视频 | 国产高清精品一区二区三区 | 男女羞羞免费网站 | 国产精品永久免费观看 | 黄色a三级 | 国产亚洲精品91 | 国产精品久久久久aaaa九色 | 欧美三级在线 | 日韩欧美在线一区二区 | 午夜电影网| 中文字幕 在线观看 | 欧美日韩在线免费 | 成年网站在线观看 |