äŒæ¥ãããã·ã®èåŸã§
å€ãã®å·¥å Žãããã¯ãŒã¯ãäŒæ¥ãããã¯ãŒã¯ã§ã¯ãäŒæ¥ã® HTTP ãããã·ïŒäŸïŒããŒã 3128 ã® Squid ãããã·ïŒçµç±ã§ããã€ã³ã¿ãŒãããã«å°éã§ããŸãããIronFlock ã¢ãã©ã€ã¢ã³ã¹ã¯ãã®æ§æã§ãåé¡ãªãã€ã³ã¹ããŒã«ã»åäœããŸã â ã€ã³ã¹ããŒã«ã³ãã³ãã§ãããã·ãæå®ããã°ããã以å€ã®èšå®ã¯ãã¹ãŠã€ã³ã¹ããŒã©ãè¡ããŸãã
ãã®ããŒãžã§ã¯ãã¢ãã©ã€ã¢ã³ã¹ãã¹ãã«ãããã·ç°å¢å€æ°ãäžåèšå®ãããŠããªãããšãåæãšããŸã â ãããã·ã¯æç€ºçã«æå®ããŠãã ãããã€ã³ã¹ããŒã©ãèªåçã«åŠçããå 容ãšãTLS ãååãããããã·ã§å¿ èŠãšãªã 1 ã€ã®è¿œå æé ã«ã€ããŠèª¬æããŸãã
ããã¯ãã¢ãã©ã€ã¢ã³ã¹ã¬ã€ãã® ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå® ã»ã¯ã·ã§ã³ã®ãããã·çã³ã³ãããªã³ã§ããå°éå¯èœã§ãªããã°ãªããªã IronFlock ãšã³ããã€ã³ãã¯åãã§ã â éãã¯ãããã§ã¯ãããã«ãããã·çµç±ã§å°éãããšããç¹ã§ãã
ãããã·ã«æ³šæãå¿ èŠãªçç±
IronFlock ãã©ãããã©ãŒã ã®ã€ã¡ãŒãžã¯ Docker ããŒã¢ã³ã«ãã£ãŠãã«ãããŸã â ããã¯ã·ã§ã«ãšã¯å¥ã®ãç¬èªã®ãããã¯ãŒã¯èšå®ãæã€ããã¯ã°ã©ãŠã³ããµãŒãã¹ã§ãããããã·çµç±ã§ã€ã³ã¿ãŒãããã«å°éã§ãããã¹ãäžã§ãã£ãŠããæç€ºçã«äŒããªãéããããŒã¢ã³ã¯ãããã·ã®ååšãç¥ããŸãããèšå®ããªããŸãŸã ãšãããŒã¢ã³ã¯çŽæ¥æ¥ç¶ã詊ã¿ããããã¯ãŒã¯ãããããããã¯ããã€ã³ã¹ããŒã«ã¯ã¿ã€ã ã¢ãŠããšãšãã«ãã°ã€ã³ã®ã¹ãããã§åæ¢ããŸãã
Error response from daemon: Get "https://instance-registry.ironflock.com/v2/":
net/http: request canceled while waiting for connection (Client.Timeout exceeded)ã€ã³ã¹ããŒã©ãèªåçã«åŠçããå 容
ã€ã³ã¹ããŒã«ã³ãã³ãã§ãããã·ãæå®ãããšãã€ã³ã¹ããŒã©ã Docker ããŒã¢ã³ãèšå®ããŸã â /etc/systemd/system/docker.service.d/http-proxy.conf ã«ãããã·ã®ããããã€ã³ãæžã蟌ã¿ãIronFlock ã¬ãžã¹ããªã«å°éã§ãããã Docker ãäžåºŠåèµ·åããŸãããã®ã¹ãããã¯ä»¥äžã®ç¹åŸŽãæã¡ãŸãã
- æéããã â ãããã·ãäžåºŠæå®ããã ãã§ïŒäžèšåç §ïŒãã€ã³ã¹ããŒã©ãèšå®ãæžã蟌ã¿ãDocker ãåèµ·åããŠãããŸããæåã§ã®ããŒã¢ã³èšå®ã¯äžèŠã§ãã
- åªç â 以éã®æŽæ°æã«ã¯ããããã·ãå®éã«å€æŽãããå Žåã«ã®ã¿ Docker ãåèµ·åããããã皌åäžã®ã¢ããªã劚ããããããšã¯ãããŸããã
- å®å šã«ã¹ããã â ãããã·ãæå®ãããªãå Žåã¯äœãè¡ããŸãããã€ã³ã¿ãŒãããã«çŽæ¥æ¥ç¶ããã€ã³ã¹ããŒã«ã«ã¯åœ±é¿ããŸããã
ã€ã³ã¹ããŒã©ã¯ããã«ãã¢ãã©ã€ã¢ã³ã¹èªèº«ã®ã¯ã©ãŠããžã®æ¥ç¶ããããã·çµç±ã«ã«ãŒãã£ã³ã°ããŸã â ã©ã€ã»ã³ã¹æ€èšŒãšãironflock.com ããã€ã³ã¹ã¿ã³ã¹ã«å°éã§ããããã«ãããªã¢ãŒã管çã¢ãããªã³ã¯ã§ããã€ã³ã¹ããŒã©ã¯ãããã·ãã¢ãã©ã€ã¢ã³ã¹ã®äžå€®èšå®ãã¡ã€ã« /opt/ironflock/.env ã«èšé²ãããã©ãããã©ãŒã ã¯ãããèªåçã«äœ¿çšããŸã â 以éã®ãã¹ãŠã®ã¢ããããŒãã§ãããã®ãã¡ã€ã«ãåŒãç¶ãæ£åŒãªèšå®å
ãšãªããŸãïŒåŸãããããã·ã倿ŽãŸãã¯åé€ãã ãåç
§ïŒãã¢ãã©ã€ã¢ã³ã¹ããªã³ã©ã€ã³ã«ããããã«å¥éã®èšå®ã¯å¿
èŠãããŸããã
ãããã·ã®èåŸã§ã€ã³ã¹ããŒã©ãå®è¡ãã
ãããã·ã¯ 2 ãæã§å¿
èŠã«ãªããŸãïŒcurl ãã€ã³ã¹ããŒã©ãããŠã³ããŒãããããã«å¿
èŠã§ãããã€ã³ã¹ããŒã©ã Docker ãèšå®ããããã«å¿
èŠã§ãã1 ã€ã®ã³ãã³ãã§äž¡æ¹ã«æž¡ããŠãã ãã â ãããã· URL ãäžåºŠèšå®ããcurl ã«ã¯ --proxy ã§ãã€ã³ã¹ããŒã©ã«ã¯ --http-proxy / --https-proxy ã§æž¡ããŸãã
# 埡瀟ã®äŒæ¥ãããã· â ãã®è¡ãç·šéããŠãã ãã
PROXY="http://proxy.your-company.com:3128"
curl -fsSL --proxy "$PROXY" \
https://instance-registry.ironflock.com/dl/appliance/install_ironflock.sh \
| sudo bash -s -- <your-instance-key> --http-proxy "$PROXY" --https-proxy "$PROXY"ãããã· URL ãš <your-instance-key> ããèªèº«ã®å€ã«çœ®ãæããŠãã ããããããã·ãèªèšŒãå¿
èŠãšããå Žåã¯ãURL ã«èªèšŒæ
å ±ãå«ããŠãã ããïŒhttp://user:password@proxy.your-company.com:3128 â ã©ã®ã¢ã«ãŠã³ãã䜿çšãã¹ããã«ã€ããŠã¯ããããã·èªèšŒ ãåç
§ããŠãã ããã
ã€ã³ã¹ããŒã©ã®ãããã·ãã©ã°ïŒ
| ãã©ã° | çšé |
|---|---|
--http-proxy <url> | Docker ããŒã¢ã³ããã®ãã¬ãŒã³ HTTP ãã©ãã£ãã¯çšãããã·ã |
--https-proxy <url> | HTTPS ãã©ãã£ãã¯çšãããã·ïŒã€ã¡ãŒãžã®ãã«ã§éèŠãšãªãã®ã¯ãã¡ãïŒã |
--no-proxy <list> | ãããã·ããã€ãã¹ãã¹ã远å ã®ãã¹ãïŒã«ã³ãåºåãïŒã |
åãå€ã IRONFLOCK_HTTP_PROXYãIRONFLOCK_HTTPS_PROXYãIRONFLOCK_NO_PROXY ç°å¢å€æ°ãšããŠæå®ããããšãã§ããŸãã
ãã¹ãããã§ã«
HTTP_PROXY/HTTPS_PROXYããšã¯ã¹ããŒãããŠããå Žåã¯ãïŒãã©ã°ãªãã§ïŒsudo -E bashãå®è¡ããã°ãã€ã³ã¹ããŒã©ãããããèªåæ€åºããŸã â ãã ãæ°èŠã®ã¢ãã©ã€ã¢ã³ã¹ã§ã¯ãããã¯éåžžèšå®ãããŠããªããããäžèšã®ããã«æç€ºçã«æž¡ãã®ã確å®ãªæ¹æ³ã§ããã·ã§ã«ã®ç°å¢å€æ°ãåæ ãããã®ã¯ååã®ã€ã³ã¹ããŒã«ã®ã¿ã§ãïŒã¢ãã©ã€ã¢ã³ã¹ã®ã€ã³ã¹ããŒã«åŸã¯ãèšé²ãããèšå®ãåªå ãããŸãïŒåŸãããããã·ã倿ŽãŸãã¯åé€ãã ãåç §ïŒã
ããŒã«ã«ãã©ãã£ãã¯ã¯åžžã«ãããã·ããã€ãã¹ããŸã
NO_PROXY ãæåã§ç®¡çããå¿
èŠã¯ãããŸãããã€ã³ã¹ããŒã©ã¯åžžã« localhostã127.0.0.1ãããã³ã¢ãã©ã€ã¢ã³ã¹èªèº«ã®ãã¹ãã¢ãã¬ã¹ããããã·å¯Ÿè±¡å€ã«ä¿ã¡ãŸãïŒ--no-proxy ã§æž¡ãããã®ã¯ä¿æãããããŒãžãããŸãïŒãããã«ãããã¢ãã©ã€ã¢ã³ã¹ã®ããŒã«ã«ã¢ããªã¹ãã¢ãšã¬ãžã¹ããªã«ã¯äŒæ¥ãããã·çµç±ã§ã«ãŒãã£ã³ã°ãããããšãªããçŽæ¥å°éãããŸãã
ãããã·èªèšŒ
ãããã·ããã°ã€ã³ãå¿ èŠãšããå Žåã¯ãå人ã®ã¢ã«ãŠã³ãã§ã¯ãªããã¢ãã©ã€ã¢ã³ã¹å°çšã®ãµãŒãã¹ã¢ã«ãŠã³ããå²ãåœãŠãŠãã ãããããããã°ãã¢ãã©ã€ã¢ã³ã¹ã®ãã©ãã£ãã¯ã¯ãããã¯ãŒã¯ããŒã ã管çããååã§ãããã·ã®ãã°ã«èšé²ãããŸãããããã¯ãŒã¯ããŒã ã¯ããã®ã¢ã«ãŠã³ããã¢ã¯ã»ã¹ã§ããç¯å²ãå¶éãããã誰ãã®å人ãã°ã€ã³ã«åœ±é¿ãäžããããšãªãç¡å¹åããã¹ã¯ãŒãã®ããŒããŒã·ã§ã³ãè¡ã£ããã§ããŸãããã㯠IronFlock ãã¹ãã®ãããã¯ãŒã¯ ID ã®ãããã·åŽã«ãããèšå®ã§ãã
- ãµããŒã察象ïŒBasic èªèšŒã ã¢ã«ãŠã³ãããããã· URL â
http://user:password@proxy.your-company.com:3128â ã«å«ããã€ã³ã¹ããŒã«ã³ãã³ãã§æå®ãããã/opt/ironflock/.envã«èšèŒããããã§sudo ironflock-updateãå®è¡ããŸãããã¹ã¯ãŒãå ã®ç¹æ®æå㯠URL ãšã³ã³ãŒãããŠãã ããïŒäŸïŒ@â%40ïŒã - çŸæç¹ã§ã¯æªãµããŒãïŒWindows çµ±åèªèšŒïŒKerberosãNTLMïŒããããã·ããã以å€ã®æ¹åŒãåãä»ããªãå Žåã¯ããµãŒãã¹ã¢ã«ãŠã³ãã« Basic èªèšŒãèš±å¯ããããã¢ãã©ã€ã¢ã³ã¹ã®ã¢ãã¬ã¹ãååä»ããã¹ããšããŠèªèšŒãªãã§èš±å¯ããããããããã¯ãŒã¯ããŒã ã«äŸé ŒããŠãã ããã
ãã©ãã£ãã¯ã«ã€ããŠã¯ããããã¯ãŒã¯ããŒã ã«æ¬¡ã®ããã«äŒããŠãã ããã
- éä¿¡å
㯠ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå® ã«åæããããšã³ããã€ã³ãã®ã¿ã§ãããŒã
443ã® HTTPS ã䜿çšããŸããããŒã2525ã®ã¡ãŒã«ãªã¬ãŒããããã·ãçµç±ããããšã¯ãããŸããã cbw.ironflock.comãžã®ãªã¢ãŒãç®¡çæ¥ç¶ã¯ãæ°ç§ããšã«ããŒãã¢ã©ã€ãéä¿¡ãè¡ãé·æéç¶æããã WebSocket ã§ãããããã·ãäžå®æéåŸã«é·æéæ¥ç¶ãåæããå Žåãã¢ãã©ã€ã¢ã³ã¹ã¯æ°ç§ä»¥å ã«èªåçã«åæ¥ç¶ããŸããããªã¢ãŒããŠãŒã¶ãŒã¯ãã®ãã³ã«çãäžæã«æ°ã¥ãããšããããŸã â å¯èœã§ããã°ããã®æ¥ç¶ãæ¥ç¶æéã®å¶é察象ããé€å€ããŠãã ããã
åŸãããããã·ã倿ŽãŸãã¯åé€ãã
ãããã·ã¯ã¢ãã©ã€ã¢ã³ã¹ã®äžå€®èšå®ãã¡ã€ã« /opt/ironflock/.env ã«èšé²ãããŠããŸãããã®ãã¡ã€ã«ãæ£åŒãªèšå®å
ã§ãïŒããã«èšèŒãããŠããå
容ãããã¹ãŠã®ã¢ããããŒãã§é©çšãããŸãããããã£ãŠãã€ã³ã¹ããŒã«æžã¿ã®ã¢ãã©ã€ã¢ã³ã¹ã§ãããã·ãåèšå®ããæé ã¯æ¬¡ã® 2 ã¹ãããã§ãã
/opt/ironflock/.envã®HTTP_PROXYãHTTPS_PROXYãNO_PROXYãšã³ããªãç·šéããŸããsudo ironflock-updateãå®è¡ããŸãã
ã¢ããããŒãã¯èšå®ãããããå Žæã«äžæ¬ã§åé©çšããŸã â Docker ããŒã¢ã³ããã©ãããã©ãŒã ãµãŒãã¹ãããã€ã¹ãšãŒãžã§ã³ãããªã¢ãŒãã¢ã¯ã»ã¹ãã³ãã« â ãããŠãå®éã«å€æŽããã£ããã®ã ããåèµ·åããŸãã
ãããã¯ãæ°ããå€ããã©ã°ãšããŠæž¡ãããšãã§ããŸã â ãã©ã°ã¯ãã¡ã€ã«ããåªå ããããã¡ã€ã«ã«æžãæ»ãããŸãã
sudo ironflock-update --https-proxy "http://user:password@proxy.your-company.com:3128"åèšå®ã¯ç¬ç«ããŠããŸãïŒ--https-proxy ã ããæž¡ããŠããæ¢åã® NO_PROXY ãªã¹ãã¯ãã®ãŸãŸä¿æãããŸãïŒæå®ããªãã£ã HTTP ã¹ããŒã ã«ã¯èªåçã«åãå€ããã©ãŒãããŸãïŒã
ãããã·ãåé€ããã«ã¯ â ããšãã°ã¢ãã©ã€ã¢ã³ã¹ãã€ã³ã¿ãŒãããã«çŽæ¥æ¥ç¶ã§ãããããã¯ãŒã¯ãžç§»èšããåŸãªã© â /opt/ironflock/.env ã®ãšã³ããªã空ã«ããïŒHTTP_PROXY=ãHTTPS_PROXY=ïŒããæç€ºçã«ç©ºã®ãã©ã°ãæž¡ããããã§ãã¢ããããŒããå®è¡ããŸãã
sudo ironflock-update --http-proxy "" --https-proxy ""ãããã·èšå®ã¯ Docker ããŒã¢ã³ãšããã€ã¹ãšãŒãžã§ã³ãããåã³åãé€ãããã¢ãã©ã€ã¢ã³ã¹ã¯çŽæ¥æ¥ç¶ã«æ»ããŸããNO_PROXY ãªã¹ãã¯ãåŸã§å床æå¹åããå Žåã«åããŠä¿æãããŸãã
ãšããžããã€ã¹
äžèšã®å
容ã¯ãã¹ãŠãããã€ã¹ã»ããã¢ããããŒã«ïŒironflock-initïŒã§ã»ããã¢ãããããšããžããã€ã¹ã«ãåæ§ã«åœãŠã¯ãŸããŸãããã®ããŒã«ã¯åããããã·ãã©ã°ãåãåããåãæ¹æ³ã§èªèº«ãèšå®ããŸã â å®è¡æã«ãããã·ãæž¡ãã°ãããŠã³ããŒãïŒããã±ãŒãžãããŒãžã£ãDocker ã®ã€ã³ã¹ããŒã«ããšãŒãžã§ã³ãã®ããŠã³ããŒãïŒãš Docker ããŒã¢ã³ããããã·çµç±ã§ã«ãŒãã£ã³ã°ããŠãããŸãã
sudo ./ironflock-init -c mydevice.flock \
--http-proxy "$PROXY" --https-proxy "$PROXY"ã»ããã¢ããããŒã«ãããŠã³ããŒãããããŒãã¹ãã©ããã¹ã¯ãªããã¯ããã®åã«å®è¡ãããããããã®ã¹ãããã«ããããã·ãæž¡ããŠãã ãã â ããŠã³ããŒããæåããããããŸãã·ã§ã«ã§ãšã¯ã¹ããŒãããŸãã
export HTTP_PROXY="$PROXY"
export HTTPS_PROXY="$PROXY"
curl -sSL --proxy "$PROXY" https://instance-registry.ironflock.com/dl/reswarmify/install.sh | bashããã€ã¹ãã¯ã©ãŠãã§ã¯ãªãããŒã«ã«ã®ã¢ãã©ã€ã¢ã³ã¹ã¢ããªã¹ãã¢ããã¢ããªã€ã¡ãŒãžããã«ããå Žåã¯ããã®ã¬ãžã¹ããªã®ãã¹ãã --no-proxy ã§è¿œå ãããããã®ãã«ãããŒã«ã«ãããã¯ãŒã¯äžã«ãšã©ãŸãããã«ããŠãã ããã
Windows ããã€ã¹ã§ã¯ãšãŒãžã§ã³ã㯠Windows ãµãŒãã¹ãšããŠåäœããŸãããããã·ã¯ãµãŒãã¹ã®ã€ã³ã¹ããŒã©ãŒã«æž¡ããŠãã ãã â ãã©ãããã©ãŒã ãžã®æ¥ç¶ãšãšãŒãžã§ã³ãã®èªåæŽæ°ã®äž¡æ¹ã«é©çšãããŸãïŒ
reagent.exe service install -config path\to\config.flock -proxy "http://proxy.example.com:3128"ã©ã®ãã¹ãããããã·ãè¿åããã
NO_PROXY ãç
§åããã®ã¯ã¯ã©ã€ã¢ã³ããæ¥ç¶ããããšãããã¹ãåã§ããããã®ååã解決ãããã¢ãã¬ã¹ã§ã¯ãããŸãããããã€ã¹ãååã§å°éããã¢ãã©ã€ã¢ã³ã¹ â ã€ãŸããã¡ã€ã³ã¢ãŒãã®ãã¹ãŠã®ã¢ãã©ã€ã¢ã³ã¹ãã¢ã㪠UI ãš HTTPS ãåç
§ â ã¯ãæç€ºçã«æå®ããå¿
èŠããããŸããããããªããšãšãŒãžã§ã³ãã¯ããŒã«ã«ã®ã¢ãã©ã€ã¢ã³ã¹ãžã®æ¥ç¶ã瀟å
ãããã·çµç±ã§éã£ãŠããŸããå€ãã®ãããã·ã¯ç€Ÿå
ãããã¯ãŒã¯ãžæãè¿ãã«ãŒãã£ã³ã°ãæåŠãããããããã€ã¹ã¯æ±ºããŠãªã³ã©ã€ã³ã«ãªããŸããã
ã€ã³ã¹ããŒã©ãŒã¯ãããããã€ã¹èªèº«ã® .flock ãã倿ããŸããlocalhost ãš 127.0.0.1 ã«å ããŠãã¢ãã©ã€ã¢ã³ã¹ã®ãã¡ã€ã³ã â å
é ã«ãããã®ãªã圢ãšä»ãã圢ã®äž¡æ¹ã§ â ããã« TLS ãªãã§æ¥ç¶ããã¬ãžã¹ããªãã¹ãã远å ããŸããã¯ã©ãŠãããã€ã¹ã«ã¯ã«ãŒãããã¯ã® 2 ãšã³ããªä»¥å€ã¯è¿œå ãããŸããããšã³ããã€ã³ããå
¬éãããŠããããããã·ãå®éã«å¿
èŠã ããã§ãã
ãµã€ãåºæã®ãã®ä»ã®ãã¹ãã¯ãironflock-init ã®ååãã©ã°ã«å¯Ÿå¿ãã -no-proxy ã§æå®ããŸãïŒ
reagent.exe service install -config path\to\config.flock `
-proxy "http://proxy.example.com:3128" `
-no-proxy "buildserver.corp.example,10.0.0.0/8"åŸããèšå®ã倿Žãã
çµæã¯ %ProgramData%\IronFlock\Reagent\proxy.env ã«æžã蟌ãŸãããã以éã¯ãã®ãã¡ã€ã«ãæ£ãšãªããŸãïŒ
HTTP_PROXY=http://proxy.example.com:3128
HTTPS_PROXY=http://proxy.example.com:3128
NO_PROXY=localhost,127.0.0.1,appliance.corp.example,.appliance.corp.exampleç·šéããããã§ reagent.exe service install ãåå®è¡ãããšåæ ãããŸãã以åŸã®ã€ã³ã¹ããŒã«ããã®ãã¡ã€ã«ãäžæžãããããšã¯ãããŸããããŸã service uninstall ã¯ãšãŒãžã§ã³ããã£ã¬ã¯ããªãæ®ãããããµãŒãã¹ã®åã€ã³ã¹ããŒã«ã«å¿
èŠãªã¢ã³ã€ã³ã¹ããŒã«ïŒã€ã³ã¹ããŒã«ã®ãµã€ã¯ã«ãçµãŠãèšå®ã¯ä¿æãããŸãããã©ã°ã®å€ã§ãã¡ã€ã«ãæå³çã«çœ®ãæããã«ã¯ -force-proxy ã䜿ã£ãŠãã ããã
ãã®ãµã€ããã¢ãã©ã€ã¢ã³ã¹ãžãããã·çµç±ã§å°éããå Žåã¯ã該åœãšã³ããªãåé€ããŠãã ããã ã©ã¡ãã®æ§æãå®åšããŸããåãå·¥å Ž LAN äžã®ã¢ãã©ã€ã¢ã³ã¹ã«ã¯çŽæ¥å°éããŸãããäžå€®ã§ãã¹ããããã¢ãã©ã€ã¢ã³ã¹ã«ã¯ç€Ÿå ãããã·çµç±ã§ããå°éã§ããªãããšããããŸããã€ã³ã¹ããŒã©ãŒã¯äž¡è ãåºå¥ã§ããªãããããã¹ãããã®ãŸãŸæžãåºããŸã â ãèªèº«ã®ãããã¯ãŒã¯ã«åœãŠã¯ãŸããªããã®ã¯åé€ããŠãã ããã
Docker ã¯å¥éèšå®ããŸã
Docker Desktop 㯠proxy.env ããµãŒãã¹ç°å¢ãèªã¿ãŸãããã€ã¡ãŒãžãååŸããã®ã¯ Docker ããŒã¢ã³ã§ãSettings â Resources â Proxies ã«ç¬èªã®èšå®ãšç¬èªã®é€å€ãªã¹ããæã¡ãŸã â ãã®ãªã¹ãã«ãã¢ãã©ã€ã¢ã³ã¹ã®ãã¹ããå¿
èŠã§ãããšãŒãžã§ã³ãåŽã§ãããã·ãçŽããŠã docker pull ã¯çŽããŸããã
Linux ããã€ã¹
ironflock-init 㯠--no-proxy ãçŽæ¥åãä»ãããããã»ããã¢ããæã«ã¢ãã©ã€ã¢ã³ã¹ãæå®ã§ããŸãïŒ
sudo ./ironflock-init -c mydevice.flock \
--http-proxy "$PROXY" --https-proxy "$PROXY" \
--no-proxy "appliance.corp.example.com"ããã«ãã /etc/systemd/system/reagent.service.d/http-proxy.conf ã« systemd ã®ããããã€ã³ãäœæãããŸããåŸããèšå®ã倿Žããç®çã§ãã®ãã¡ã€ã«ãç·šéããªãã§ãã ãã â ã»ããã¢ããããŒã«ãæžãæããŸãã代ããã« systemctl edit reagent ã䜿ããŸããããã¯ã€ã³ã¹ããŒã©ãŒã®ããããã€ã³ã®åŸã« systemd ãé©çšãã override.conf ãäœæããIronFlock ãè§Šããããšã¯ãããŸããïŒ
sudo systemctl edit reagent[Service]
Environment="NO_PROXY=localhost,127.0.0.1,appliance.corp.example.com"sudo systemctl restart reagentTLS åååãããã·ïŒäŒæ¥ CAïŒ
äžéšã®äŒæ¥ãããã·ã¯ãäŒç€Ÿã®èªèšŒå±ïŒCAïŒã§å眲åããããšã§ HTTPS ãã©ãã£ãã¯ãæ€æ»ããŸãããããã®å Žåããããã·ã®èšå®ã¯å¿ èŠã§ããååã§ã¯ãããŸãã â ã¢ãã©ã€ã¢ã³ã¹ãã¹ãããã® CA ãä¿¡é ŒããŠããªããã°ãªãããããã§ãªããšãã¹ãŠã®ã¯ã©ãŠãæ¥ç¶ïŒã€ã¡ãŒãžã®ãã«ãã©ã€ã»ã³ã¹æ€èšŒã管çã¢ãããªã³ã¯ïŒãæåŠãããŸãã
CA ã¯ãã¹ãã®ã·ã¹ãã ä¿¡é Œã¹ãã¢ã«äžåºŠã ãã€ã³ã¹ããŒã«ããŠãã ãããã¢ãã©ã€ã¢ã³ã¹ã¯ãã®ä¿¡é Œã¹ãã¢ããã¹ãŠã®ã³ã³ããã«ããŠã³ããããããDocker ãšãã¹ãŠã® IronFlock ãµãŒãã¹ã CA ãååŸããŸã â ã³ã³ããããšã»ãµãŒãã¹ããšã«èšå®ãããã®ã¯äœããããŸãããã³ã³ããã¯èµ·åæã«ãããèªã¿èŸŒããããCA ã远å ãŸãã¯å€æŽããåŸã¯ã¹ã¿ãã¯ãåèµ·åããŠãã ããïŒäžèšã®ã¹ããã 3ïŒã
1. äŒæ¥ CA ãå ¥æãã
ãããã¯ãŒã¯ããŒã ã«ããããã·ã®**ãSSL æ€æ»ã/ãTLS ååãã«ãŒã CA**ïŒç®¡ç察象ã®ç€Ÿå
ãã·ã³ã«ãã§ã«é
åžãããŠãããã®ãšåãèšŒææžïŒã .crt ãã¡ã€ã«ãšããŠäŸé ŒããŠãã ããããããæãã¯ãªãŒã³ãªå
¥æå
ã§ãã
åäžãã¹ãã®èšŒææžã§ã¯ãªããçºè¡å ã® CA ãã€ã³ã¹ããŒã«ããŠãã ããã ããããééãã¯ã1 ã€ã®ãã¹ãåïŒäŸïŒ
instance-registry.ironflock.comã®ã¿ïŒã«å¯ŸããŠãããã·ãå眲åããèšŒææžãä¿åããŠããŸãããšã§ããããã§ã¯ãã®ãã¹ãã ããåäœãããã以å€ã®ãã¹ãŠã®ã¯ã©ãŠããã¹ãã¯å€±æãããŸãŸã«ãªããŸããå¿ èŠãªã®ã¯ããããã®èšŒææžã«çœ²åãã CA ã§ãã
ãã¡ã€ã«ãçŽæ¥å
¥æã§ããªããã®ã®ããããã·ããã«ãã§ãŒã³ãæç€ºããå Žåã¯ãéä¿¡çµè·¯ãã CA ãæœåºã§ããŸã â <PROXY_HOST>:<PROXY_PORT> ããèªèº«ã®ãããã·ã«çœ®ãæããŠãã ããã
# ãã§ãŒã³ãååŸããŸãïŒèšŒææžããšã« 1 ã€ã® PEMïŒãc1 ã¯ãã¹ãããšã®ãªãŒãèšŒææžã§ãïŒã¹ãããããŠãã ããïŒã
# c2..cN ãä¿¡é Œãã¹ãäŒæ¥ CA ãã§ãŒã³ã§ãã
echo quit | openssl s_client -connect instance-registry.ironflock.com:443 \
-proxy <PROXY_HOST>:<PROXY_PORT> -showcerts 2>/dev/null \
| awk '/BEGIN CERTIFICATE/{n++; c=1} c{print > ("/tmp/proxy-c" n ".pem")} /END CERTIFICATE/{c=0}'
# ä»»æ â è¿ã£ãŠããå
容ã確èªããŸãïŒ
for f in /tmp/proxy-c*.pem; do echo "== $f =="; openssl x509 -in "$f" -noout -subject -issuer; done2. ã€ã³ã¹ããŒã«ããŠä¿¡é Œã¹ãã¢ãåæ§ç¯ãã
IT ããŒã ãã .crt ãçŽæ¥åãåã£ãå ŽåïŒ
sudo cp corporate-root-ca.crt /usr/local/share/ca-certificates/corporate-proxy-ca.crt
sudo update-ca-certificatesäžèšã®ãã§ãŒã³ããæœåºããå Žåã¯ããªãŒãèšŒææžïŒc1ïŒãé€ããã¹ãŠã®èšŒææžãä¿¡é ŒããŸãïŒ
i=0; for f in $(ls -v /tmp/proxy-c*.pem | tail -n +2); do
i=$((i+1)); sudo cp "$f" "/usr/local/share/ca-certificates/corporate-proxy-ca-$i.crt"
done
sudo update-ca-certificates3. æ€èšŒãã
ããã§ããã¹ãŠã® IronFlock ã¯ã©ãŠããã¹ãããããã·çµç±ã§æ€èšŒã§ããã¯ãã§ã â TLS ãšã©ãŒã§ã¯ãªããHTTP ã¹ããŒã¿ã¹ãè¿ããŸãã
for H in instance-registry.ironflock.com web.ironflock.com cbw.ironflock.com \
registry.ironflock.com regauth.ironflock.com; do
curl -x http://<PROXY_HOST>:<PROXY_PORT> -sS -o /dev/null -w "$H -> %{http_code}\n" "https://$H/"
done5 ã€ãã¹ãŠã§ 200ã401ã404 ã®ãããªã³ãŒããè¿ãã°ãCA ã¯æ£ããã§ãããã®åŸããµãŒãã¹ãåæ ã§ããããã¹ã¿ãã¯ãåèµ·åããŸãïŒãŸãã¯ã€ã³ã¹ããŒã©ãåå®è¡ããŸãïŒã
sudo systemctl restart ironflock.serviceããã€ã¹ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãžã®ãªã¢ãŒãã¢ã¯ã»ã¹
IronFlock ã§ã¯ããšããžããã€ã¹ããã·ã³äžã§åäœãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ â ãã·ã³ã® HMIãPLC ããŒãžãããã€ã¹äžã®èšå®ç»é¢ãããã·ã¥ããŒãç»é¢ â ããã©ãããã§ã IronFlock å ã§çŽæ¥éãããšãã§ããŸããããã¯ãªã¢ãŒããµãŒãã¹ããã³ãµããŒããå¯èœã«ããéèŠãªæ©èœã§ãïŒãšã³ãžãã¢ã¯çŸå°ã«èµŽãããšããããŒã«ã«ãããã¯ãŒã¯ã«æ¥ç¶ããããšããªãããã·ã³ã®ã€ã³ã¿ãŒãã§ãŒã¹ã«å°éã§ããŸããã¢ã¯ã»ã¹ã¯åžžã« IronFlock ã®æš©éã·ã¹ãã ã«ãã£ãŠä»²ä»ã»ä¿è·ããããããèªå¯ããããŠãŒã¶ãŒã®ã¿ãç¹å®ã®ããã€ã¹ã«å°éã§ããŸãã
ãã®ãªã¢ãŒãã¢ã¯ã»ã¹ãã³ãã«ã¯ãæçãåºã䜿ãããŠãããªãŒãã³ãœãŒã¹æè¡ã§ãã **frpïŒFast Reverse ProxyïŒ**ã®äžã«æ§ç¯ãããŠããŸããIronFlock ã¯ããããäžèšã®ããã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ã¢ã¯ã»ã¹ãæäŸããç®çã®ã¿ã«äœ¿çšããŸãã
äŒæ¥ãããã·ã劚ãã«ãªãåŸãçç±
frp ã¯åŒ·åãªãããã¯ãŒã¯ãã©ããŒãµã«æ©èœãåããŠããããã®ããã¢ã³ããŠã€ã«ã¹ããããã·ã®ã»ãã¥ãªãã£è£œåã¯ããã°ãã°ãããäžåŸã«ãªã¹ã¯ãŠã§ã¢ãšããŠãã©ã°ããŸã â é·ãå®çžŸãæã€ãªãŒãã³ãœãŒã¹ã³ã³ããŒãã³ããšããŠå®å šã§ãããããã§ã¯èªå¯ããããªã¢ãŒãã¢ã¯ã»ã¹æ©èœã®ããã ãã«äœ¿ãããŠããã«ãããããããã§ãããããèµ·ãããšããããã·ã¯ frp ãå«ã IronFlock ã³ã³ããŒãã³ãã®ããŠã³ããŒãããããã¯ããŸãã
ããã¯ã¢ãã©ã€ã¢ã³ã¹ãå£ããã®ã§ã¯ãããŸããïŒãªã¢ãŒãã¢ã¯ã»ã¹ãã³ãã«ã¯ä»»æã®æ©èœã§ããããããã®ã³ã³ããŒãã³ãããããã¯ãããŠãããã©ãããã©ãŒã ã¯éåžžã©ããã€ã³ã¹ããŒã«ã»åäœããåã«ããã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ã¢ã¯ã»ã¹ãªãã§çšŒåããŸããããã·ã¥ããŒãã§ã¯ãããã€ã¹ã®ãªã¢ãŒãã¢ã¯ã»ã¹å¶åŸ¡ãããã®ã¢ãã©ã€ã¢ã³ã¹ã§ã¯ãªã¢ãŒãã¢ã¯ã»ã¹ãå©çšã§ããªãæšã衚瀺ããŸãã
äŒæ¥ IT ãèš±å¯ãã¹ãããš
埡瀟ã IronFlock ã®ãªã¢ãŒããµãŒãã¹æ©èœã掻çšãããå Žåã¯ãfrp ãå«ã IronFlock ã³ã³ããŒãã³ããäŒæ¥ãããã·çµç±ã§ããŠã³ããŒãã§ããããèš±å¯ããå¿ èŠããããŸãããããã¯ãŒã¯ïŒã»ãã¥ãªãã£ããŒã ã«ã¯ãå ·äœçã«æ¬¡ã® 2 ç¹ãäŸé ŒããŠãã ããã
instance-registry.ironflock.comããã®ã€ã¡ãŒãžããŠã³ããŒãã«å¯Ÿããã¹ãã£ã³ã®äŸå€èšå® â äžåŸã®ãªã¹ã¯ãŠã§ã¢å€å®ã«ãã£ãŠãã³ãã«ã³ã³ããŒãã³ãããããã¯ãããªãããã«ããããã§ãããã㯠IronFlock ã®ãã¹ãŠã®ãã©ãã£ãã¯ã TLS æ€æ»ããé€å€ãããããç¯å²ã®çã察å¿ã§ãããã¢ãã©ã€ã¢ã³ã¹ã®ãã以å€ã®ãã©ãã£ãã¯ã¯åŒãç¶ãæ€æ»ã®å¯Ÿè±¡ã«ããŠãããŸãã- æ€åºãæ¢ç¥ã®èª€æ€ç¥ãšããŠèšé²ããããšã frp ã¯åºã䜿ãããŠãããªãŒãã³ãœãŒã¹ã®ãªããŒã¹ãããã·ã§ãããIronFlock ã¯ããããäžèšã§èª¬æããã¢ã¯ã»ã¹å¶åŸ¡ä»ãã®ãªã¢ãŒãã¢ã¯ã»ã¹æ©èœã®ããã ãã«äœ¿çšããŠããŸãã
ã¢ãã©ã€ã¢ã³ã¹åãã«ãã§ã«åæãããŠãããã®ãšåã IronFlock ãšã³ããã€ã³ããé©çšãããŸã â ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå® ãåç §ããŠãã ãããããã§ã®è©±ã¯ããã®ãã©ãã£ãã¯ãåã«ã«ãŒãã£ã³ã°ããããšã«å ããŠããããã¹ãã£ã³ïŒãããã¯ããªãããã«ãããšããç¹ã§ãã
frp ã®ééãèš±å¯ãããããããšã¯ã¢ããããŒããåå®è¡ããã ãã§ã â ããŠã³ããŒããæå次第ãä»ã«äœã®å€æŽããªãæ©èœãèªåçã«æå¹ã«ãªããŸãã
sudo ironflock-updateãªã¢ãŒãã¢ã¯ã»ã¹ãªãã§å®è¡ãã
ããã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ã¢ã¯ã»ã¹ãäžèŠãªå Žå â ãããã¯ãããã·ã®äŸå€èšå®ãæé ããéãã¯ãªãŒã³ãªã€ã³ã¹ããŒã«ãè¡ãããå Žå â ã¯ããã³ãã«ãæç€ºçã«ç¡å¹åã§ããŸãããã以å€ã¯ãã¹ãŠéåžžã©ããã€ã³ã¹ããŒã«ãããŸãã
# ã€ã³ã¹ããŒã«æã«ãã€ã³ã¹ããŒã«ã³ãã³ããžè¿œèšããŸã
... | sudo bash -s -- <your-instance-key> --no-tunnel
# ãŸãã¯ããã§ã«ã€ã³ã¹ããŒã«æžã¿ã®ã¢ãã©ã€ã¢ã³ã¹ã§
sudo ironflock-update --no-tunnelãã®éžæã¯ã¢ããããŒãããŸããã§èšæ¶ãããŸããããšã§ïŒfrp ãèš±å¯ããããïŒ--tunnel ã§å床æå¹åã§ããŸãã
sudo ironflock-update --tunnelãã©ãã«ã·ã¥ãŒãã£ã³ã°
ã€ã³ã¹ããŒã«ã Client.Timeout ãšã©ãŒãšãšãã«ãLogging in to instance-registry.ironflock.comãã§åæ¢ããã
Docker ããŒã¢ã³ãã¬ãžã¹ããªã«å°éã§ããŠããŸãããã€ã³ã¹ããŒã©ãåå®è¡ããäžèšã®ããã« --http-proxy / --https-proxy ã§ãããã·ãæž¡ããŠãã ããã
ãããã·ãèšå®ããŠããã°ã€ã³ãäŸç¶ãšããŠå€±æããã ãããã·ã TLS ãååããŠããå¯èœæ§ãé«ãã§ããTLS åååãããã· ã§èª¬æããããã«äŒæ¥ CA ãã€ã³ã¹ããŒã«ãããã®åŸåå®è¡ããŠãã ããã
Docker ããŒã¢ã³ããããã·ãèªèããŠããã確èªããŸãïŒ
sudo systemctl show --property=Environment docker
sudo docker login instance-registry.ironflock.comdocker login åäœã§æåããã°ãã¢ãã©ã€ã¢ã³ã¹ã®ã€ã³ã¹ããŒã«ã¯å€±æããŠããã¹ããããééã§ããŸãã
ä»ã¯ãã¹ãŠåé¡ãªãã€ã³ã¹ããŒã«ãããã®ã«ãåäžã®ã³ã³ããŒãã³ãã ãããŠã³ããŒãã«å€±æããã
ããã¯éåžžãfrp ããŒã¹ã®ãªã¢ãŒãã¢ã¯ã»ã¹ã³ã³ããŒãã³ããããããã·ãã¢ã³ããŠã€ã«ã¹ã«ãã£ãŠãªã¹ã¯ãŠã§ã¢ãšããŠãããã¯ãããŠããããã§ããã€ã³ã¹ããŒã«èªäœã¯å®äºããŸã â ããã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ã¢ã¯ã»ã¹ã ããå©çšã§ããŸããããããæå¹ã«ããã«ã¯ãããã€ã¹ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãžã®ãªã¢ãŒãã¢ã¯ã»ã¹ ã§èª¬æããããã«ããããã·ããŒã ã«ãã®ãã©ãã£ãã¯ãèš±å¯ããŠããã£ãããã§ãironflock-update ãåå®è¡ããŠãã ãããæå³çã«ãããªãã§ã€ã³ã¹ããŒã«ããã«ã¯ã--no-tunnel ãæž¡ããŠãã ããã
ã¢ããããŒã
ã¢ãã©ã€ã¢ã³ã¹ããããã·ã®èåŸã§ã€ã³ã¹ããŒã«ããããšããã®ãããã·èšå®ã¯ /opt/ironflock/.env ã«èšæ¶ãããã¢ããããŒãã®ãã³ã«åé©çšãããŸããæåã¢ããããŒããšããã¯ã°ã©ãŠã³ãã®èªåã¢ããããŒãã®ããããã远å ã®æäœãªãã«ãããã·çµç±ã§åŒãç¶ãåäœããŸã â ã¢ãã©ã€ã¢ã³ã¹ã¬ã€ãã® ã¡ã³ããã³ã¹ ãåç
§ããŠãã ãããã¢ãã©ã€ã¢ã³ã¹ãå¥ã®ãããã·ã«åããå Žå â ãããã¯ãããã·ãå®å
šã«å€ãå Žå â ã¯ãåŸãããããã·ã倿ŽãŸãã¯åé€ãã ãåç
§ããŠãã ããã
ããã€ã¹ã€ã³ã¿ãŒãã§ãŒã¹ãžã®ãªã¢ãŒãã¢ã¯ã»ã¹ ãã€ã³ã¹ããŒã«æã«ãããã¯ãããŠããå Žåããã¹ãŠã®ã¢ããããŒãã§èªåçã«å詊è¡ãããŸã â ãã®ããããããã·ã frp ãèš±å¯ããã°ã次åã®ã¢ããããŒãã§è¿œå ã®æé ãªãã«ãã®æ©èœãæå¹ã«ãªããŸãã