使用Portainerは、ネットワーク内のマルチ領土ドッカーインスタンスの実行の管理を一元化しました

ドッカーの1.スタンドアロン動作

コンテナの展開は今進行中で、最もオープンソースのアプリケーション支援船の配備がされ
、多くの場合、CLIドッキングウィンドウ・コンドッキングウィンドウを使用して、「スタンドアロン管理」、シーンの小さなマシンを管理し
、マシンは少しより多くのポイントは、ドッカースウォームクラスタを採用します少し重いすべてK8S後
の状況下で、より多くのマシンが存在する場合、一般的な方法応用K8Sことが
、我々は複数のクラウド、家、VPS上の仮想マシンサーバの少量を持っている傾向がある個人、スタートアップ、シーンの小さなチームが、すべてのこれらのサーバー上で実行されていますドッキングウィンドウの例
、我々はまた、「クラスター」を構築するように、ネットワークを形成するために、マシンの様々な領域を介して取得するzerotier他の方法をパブリックネットワークのVPNを使用することができますが、現実はそう多くの帯域幅ではありません、これは「負荷分散」することはできませんので、実際ものの、実際の、または独立して使用する
パブリックネットワークの帯域幅に制限はスタンドアローン、非常に小さく、
私たちはシーンのこのような状況のエッジのエッジ4Gモバイルトラフィックの一部へのアクセス権を持っている、のIoTはまた、これらのインスタンスにドッカーを実行している
これらのNATネットワーク環境の下で、その後ドッキングウィンドウのインスタンス、ドッキングウィンドウのインスタンスのパブリックIP環境の下で、集中管理するかどうか?
確かに、Portainerを使用することは非常に簡単です。

実用的な手順の一例ドッカー2. Portainer管理プラットフォーム

2.1 -Portainerサーバーマスターインストールマスターノード

Hおよび24時間365日をPortainerサーバを実行して、マスターノードのパブリックIPアドレスから選択され

docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /data/appdata/portainer:/data portainer/portainer

Web管理インターフェイスポートの9000ポート
エージェントのポート8000のアクセスポート
この2ポートのパブリックIPファイアウォールが解除されなければなりません

ウェブブラウザ管理インターフェースを開き
// Portainer:HTTP ServerホストのパブリックネットワークIP:9000を

最初の訪問は、パスワードを設定するには、パスワードを設定した後、接続ドッキングウィンドウを選択する必要が
オプションをして、最初の接続ローカルをクリックして
ホームメニューを入力するために、他の地域のドッキングウィンドウのインスタンス管理へのローカルアクセスをクリックしてください

Portainer公式インストールマニュアルリファレンス

2.2設定HTTPS nginxのプロキシ(オプション)

あなたが行う場合ではないHTTPSを設定し、このセクションをスキップすることができ
ます。http://あなたのパブリックIP:9000デフォルトなし危険なHTTPS
などのhttpsアクセスhttps://portainer.iamle.comとしてドメイン名を計画する
リバースプロキシのアクセスなどのnginxとhttp:// portainerip:9000
以下は、(必要なのWebSocketプロキシが含まれている)、構成のnginxのportainerの一例です

# portainer.iamle.com.conf
map $http_upgrade $connection_upgrade {
    default Upgrade;
    ''      close;
}
upstream portainer {
    server 127.0.0.1:9000;
}
server {
        listen       80;
        server_name portainer.iamle.com;
        return      301 https://$server_name$request_uri;
}
server {

                listen 443 ssl http2;
        server_name portainer.iamle.com;

                ssl_certificate         ssl/iamle.com.cer;
                ssl_certificate_key     ssl/iamle.com.key;
                #ssl_session_cache           shared:SSL:10m;
                #ssl_session_timeout         10m;
                #ssl_session_tickets         off;

                ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                ssl_ciphers         HIGH:!aNULL:!MD5:!EXPORT56:!EXP;
                ssl_prefer_server_ciphers on;

        location / {
                    proxy_set_header Host              $host;
                    proxy_set_header X-Forwarded-Proto $scheme;
                    proxy_set_header X-Forwarded-Port  $server_port;
                    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
                    proxy_set_header X-Real-IP         $remote_addr;
                    proxy_set_header X-Request-Id $request_id;
                    proxy_set_header Upgrade           $http_upgrade;
                    proxy_set_header Connection        $connection_upgrade;
                    proxy_read_timeout 60m;
                    proxy_send_timeout 60m;
                    proxy_http_version 1.1;
                    proxy_pass http://portainer;
                    break;
        }


        error_log   /data/logs/portainer.iamle.com-error.log;
        access_log  /data/logs/portainer.iamle.com.log access;

}

マスターノード2.3 - NATは、クライアントのネットワークエージェントに配置されました

我々はすでに管理制御Portainer公衆IP網を持つノードを設定している
ことは、ネットワーク(NAT、IOT)、パブリッククラウドは、アクセス制御ノードマネージャを実行するようVPSドッカーインスタンスその後、

百聞は一見にしかずで、描画公式プレゼンテーション

エージェント2のネットワーク管理このPortainerのグラフ
スウォームの一つは、クラスタでは、他のは、スタンドアローンであります

Portainerにエッジエージェントサーバの追加
エンドポイントメニュー「を追加エンドポイント」エッジエージェント

Name:为自定义
Portainer server URL:默认为当前Portainer server ip (如果用nginx配置了https可以使用https不加端口号)
》 Add endpoint

增加端点后出现

部署客户端agent 有2种选择 Standalone 和 Swarm
如果已经组过Swarm那么选Swarm,默认就是Standalone
先点击 “Copy command” 复制命令,在Agent客户端去执行
Public IP: 如果有可以设置,这样在以后部署了docker容器暴露的端口可以自动生成url

2.4 被管理节点-需要被管理的Docker实例客户端机

在被管理的客户端终端上执行(内网(NAT、IOT)、公网环境都可以,只要能连接上我们的Portainer server)
本例内网1台ip为 192.168.0.8的机器

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes -v /:/host --restart always -e EDGE=1 -e EDGE_ID=6ad0f1ff-6fea-4710-97e2-513ef1066fd8 -e CAP_HOST_MANAGEMENT=1 -p 8000:80 -v portainer_agent_data:/data --name portainer_edge_agent portainer/agent:1.5.1

访问 http://192.168.0.8:8000(如果有公网ip用公网ip
打开后会有个输入框
输入上一步获得的Join token
点击Submit 出现 Agent setup OK. You can close this page. 代表完成agent接入

回到 Portainer server管理界面等待上线

点击 iamle-lan-01 等待几秒钟

这样我们就可以管理多个docker实例了

3. 贴士

  • 如果agent运行不起来,无限重启
    需要根据docker logs portainer_edge_agent 获取到的错误信息排查, 官方github issue是个好去处
    另外发现2019年10月19日16:55:01 pull 下来的portainer/agent:latest 也运行不起来 改为 portainer/agent:1.5.1正常

  • Stacks粘贴docker-compose.yml进来后一直报version版本不对
    目前只支持version 2 改为2即可

4. 参考

Portainer Edge Agent 官方发布
Portainer内网边缘节点配置说明书PDF

流水理鱼 发布!

おすすめ

転載: www.cnblogs.com/wwek/p/12070379.html