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