2

docker bootstrap Unix sock を使用して、コンピューターの再起動後に失われ、ネットワークが構成前の状態に復元された flannel ネットワーク ( source ) を展開します。

OS Ubuntu 14.04

ドッカー バージョン 1.11.2

一歩一歩

1.Docker Bootstrapのセットアップ

sudo sh -c 'docker daemon -H unix:///var/run/docker-bootstrap.sock -p /var/run/docker-bootstrap.pid --iptables=false --ip-masq=false --bridge=none --graph=/var/lib/docker-bootstrap 2> /var/log/docker-bootstrap.log 1> /dev/null &'

「ブートストラップ Docker インスタンスを SysV init、upstart、systemd などで実行して、再起動や障害が発生しても再起動するようにする必要があります」と警告します。

2.flannelのetcdと使用するAPIサーバーを起動

sudo docker -H unix:///var/run/docker-bootstrap.sock run -d \
    --net=host \
    gcr.io/google_containers/etcd-amd64:${ETCD_VERSION} \
    /usr/local/bin/etcd \
        --listen-client-urls=http://127.0.0.1:4001,http://${MASTER_IP}:4001 \
        --advertise-client-urls=http://${MASTER_IP}:4001 \
        --data-dir=/var/etcd/data

sudo docker -H unix:///var/run/docker-bootstrap.sock run \
    --net=host \
    gcr.io/google_containers/etcd-amd64:${ETCD_VERSION} \
    etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }'

デフォルトのブートエントリを設定する必要がある場合、unix sock があれば問題なく再起動すると思いますか?

3.Docker がネットワークに使用する Flannel ブリッジをセットアップする

##Docker を停止する

sudo /etc/init.d/docker stop

##ランフランネル

sudo docker -H unix:///var/run/docker-bootstrap.sock run -d \
    --net=host \
    --privileged \
    -v /dev/net:/dev/net \
    quay.io/coreos/flannel:${FLANNEL_VERSION} \
    /opt/bin/flanneld \
        --ip-masq=${FLANNEL_IPMASQ} \
        --iface=${FLANNEL_IFACE} 

sudo docker -H unix:///var/run/docker-bootstrap.sock exec 'really-long-hash-from-above-here' cat /run/flannel/subnet.env

##ドッカーの設定を編集する

--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}

##既存の Docker ブリッジを削除する

sudo /sbin/ifconfig docker0 down

sudo brctl delbr docker0

##Docker を再起動します

sudo /etc/init.d/docker start

ステップ2までは同じだと思います

4.Kubernetesマスターの起動

sudo docker run \
    --volume=/:/rootfs:ro \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:rw \
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    --volume=/var/run:/var/run:rw \
    --net=host \
    --privileged=true \
    --pid=host \
    -d \
    gcr.io/google_containers/hyperkube-amd64:v${K8S_VERSION} \
    /hyperkube kubelet \
        --allow-privileged=true \
        --api-servers=http://localhost:8080 \
        --v=2 \
        --address=0.0.0.0 \
        --enable-server \
        --hostname-override=127.0.0.1 \
        --config=/etc/kubernetes/manifests-multi \
        --containerized \
        --cluster-dns=10.0.0.10 \
        --cluster-domain=cluster.local

エラーには関係ありません

4

0 に答える 0