ubuntu 16.04 下安裝kubernetes 1.6 之flannel網路模型
1 準備環境
確保在叢集環境中安裝了etcd,在各node中安裝了docker2 安裝flannel
2.1 flannel節點IP地址段分配
flannel依賴etcd分配不衝突的叢集IP,首先在etcd上設定flannel節點使用的IP地址段,本文的etcd節點的ip為192.168.100.20etcdctl --endpoints "http://192.168.100.20:2379" set /coreos.com/network/config '{"NetWork":"172.17.0.0/16","SubnetMin":"172.17.0.0","SubnetMax":"172.17.20.0","Backend":{"Type":"vxlan"}}'
2.2 minion節點安裝flannel
下載flannel軟體包wget
解壓並將解壓出的flanneld,mk-docker-opts.sh複製到/usr/local/bin下
cp flanneld,mk-docker-opts.sh /usr/local/bin
2.3 建立flannel的systemd服務
cat /lib/systemd/system/flanneld.service[Unit]
Description=Flanneld
Documentation=
After=network.target
Before=docker.service
[Service]
ExecStart=/usr/local/bin/flanneld --etcd-endpoints=http://192.168.100.20:2379 --iface=enp0s3 --ip-masq=true
Restart=on-failure
Type=notify
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
啟動flannel服務
systemctl start flanneld.service
flannel服務啟動時主要做了以下幾步的工作:
- 從etcd中獲取network的配置資訊。
- 劃分subnet,並在etcd中進行註冊。
- 將子網資訊記錄到/run/flannel/subnet.env中
cat /run/flannel/subnet.env
FLANNEL_NETWORK=172.17.0.0/16
FLANNEL_SUBNET=172.17.2.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
3 配置docker啟動引數
使用flannel提供的指令碼將subnet.env轉寫成Docker啟動引數,建立好的啟動引數位於/run/docker_opts.env檔案中root@wangpei-VM:~# sh /usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
root@wangpei-VM:~# cat /run/docker_opts.env
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
將這條語句寫入 /etc/default/docker,作為docker啟動的環境變數
cat /etc/default/docker |grep DOCKER_OPTS
DOCKER_OPTS=" --bip=172.17.2.1/24 --ip-masq=false --mtu=1450"
docker中的啟動引數
root@192:~# awk '!/#/{if($0!="")print}' /lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=
After=network.target docker.socket firewalld.service flanneld.service
Requires=docker.socket
[Service]
Type=notify
EnvironmentFile=-/etc/default/docker
ExecStartPre=/usr/local/bin/mk-docker-opts.sh -d /run/docker_opts.env -c
EnvironmentFile=-/run/docker_opts.env
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
載入配置,啟動docker
root@wangpei-VM:~# systemctl daemon-reload
root@wangpei-VM:~# systemctl restart docker
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-2145493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ubuntu 16.04下安裝kubernetes 1.6之dashboardUbuntu
- ubuntu 16.04 下安裝kubernetes 1.6 之kube-dnsUbuntuDNS
- ubuntu 16.04下安裝kubernetes1.6(二)Ubuntu
- ubuntu 16.04下安裝kubernetes1.6(一)Ubuntu
- kubernetes實踐之四:Flannel網路外掛安裝
- Kubernetes網路分析之Flannel
- ubuntu16.04 下安裝mysqlUbuntuMySql
- Ubuntu 16.04 下安裝配置caffeUbuntu
- ubuntu16.04 下kvm安裝Ubuntu
- 網路分析利器:在 Ubuntu 16.04 上安裝 BroUbuntu
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- Ubuntu16.04下安裝gtsam-3.2.1Ubuntu
- ubuntu16.04下安裝NS3.27UbuntuS3
- ubuntu16.04系統下安裝dockerUbuntuDocker
- Ubuntu 16.04 安裝 EmacsUbuntuMac
- Vagrant 安裝ubuntu 16.04Ubuntu
- Ubuntu 16.04安裝NginxUbuntuNginx
- Ubuntu 16.04 安裝 RedisUbuntuRedis
- 【kubernetes】網路虛擬網路卡對veth pair、flannel網路模型實現原理AI模型
- 深入淺出Kubernetes網路:跨節點網路通訊之Flannel
- ubuntu16.04下的MySQL離線安裝UbuntuMySql
- Ubuntu 16.04 安裝 Mysql 8.0UbuntuMySql
- ubuntu16.04安裝rosUbuntuROS
- Ubuntu 16.04 上安裝 OrientDB!Ubuntu
- Ubuntu 16.04 安裝 JenkinsUbuntuJenkins
- ubuntu 16.04 LTS安裝之後需要做的事Ubuntu
- flannel網路在kubernetes中的運用
- ubuntu 16.04安裝LNMP環境UbuntuLNMP
- 安裝kalibr Ubuntu16.04Ubuntu
- Ubuntu16.04安裝、使用typoraUbuntu
- Ubuntu 16.04 安裝VSCodeUbuntuVSCode
- ubuntu16.04 CUDA, CUDNN 安裝UbuntuDNN
- Ubuntu 16.04 上安裝 MySQL 5.7UbuntuMySql
- 容器編排系統K8s之flannel網路模型K8S模型
- Ubuntu 16.04下安裝資料庫Oracle客戶端Ubuntu資料庫Oracle客戶端
- Ubuntu安裝KubernetesUbuntu
- Ubuntu 16.04 安裝Google 瀏覽器UbuntuGo瀏覽器
- VM中的Ubuntu(16.04)安裝tenserflowUbuntu