Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
Docker a kontejnery
ALMAD
Docker aneb přístupný provoz kontejnerizovaných aplikací
Docker(Hub), Compose, Swarm, boot2docker, DevOps, LXC, ECS, TumTum a jiné buzzwordy
Bezpečnost v prostředí kontejnerů
Related: automatizace [ Centralizovaná správa stanic a ostatních prvků v síti konfigurace/inventarizace/instalace/aktualizace/zalohovani ]
Máte k tomu co říct? Vložte se do diskuze.
RUDOLF --- 18:56:20 15.1.2018
každopádně.. docker stack deploy má jednu vtipnou vlastnost, pokud jsem teda něco nepřehlédl: nezajistí, že deploynutá služba skutečně běží..

je nějaká možnost jak elegantně zkontrolovat, že daná služba běží? Procházel jsem API, ale nic mě netrklo.

Můžu například kontrolovat jesli neběží něco v replicas 0/1. Nebo inspected projít všechny služby ve stacku, jestli mají UpdateStatus.state na paused. Ale to se mi to zdá všecko takové čudné..

Když použiji docker service create/update, tak mi services vrátí exit code 1, když tasky v services nenaběhnou.. Žel stack deploy nemá žádný attach mode. Takže při deploymentu, pokud nezkontroluji že nějaký task nevysí, tak vím prd.. Ještě horší situace když nastavím rollback, tak ani pořádně nevím, že služba byla failed. Služba prostě běží v předchozí verzi.
RUDOLF --- 18:15:14 15.1.2018
RUDOLF: už jsem dávno pořešil, tak jen zpětně: řešení je v Launch configuration pro daný node připravil skript, který metadata zapíše do prostředí.
RUDOLF --- 17:06:52 7.11.2017
Zdar! Opět docker swarm na aws, už se s tím docela zžívám ale na tomhle si furt lámu zuby.

Deployuju přes docker stack deploy compose3.4.yaml a potřeboval bych, abych consul propagoval veřejnou IP danýho node. Use case je, že consul servery a spoustu další havěti žije mimo AWS a consul propaguje ven interní IP. Takže nody na AWS se spojej, zbytek ne.

Možnosti jsou:
a.) Otvírát vnitřní IP se mi nezdá jako dobrý řešení (ani nevím, jestli by mi to AWS dovolilo).

b.) Asi by nejsprávnější cesta by byla, udělat si ve swarm vlastní consul DC a na jednom manager node udělat vlastní server, takže na jedné adresy si povídat s nody ve swarm a po druhé adrese s nody mimo swar -- ale to bych si nechal na jindy.

No a mě by stačilo:
Mám už pořešený, že nody v docker swarm propagují consul porty mimo ingress a sami za sebe. Jen bych jim potřeboval definovat veřejnou IP. Defakto jen advertise_addr=$(curl http://169.254.169.254/latest/meta-data/public-ipv4) per node. Ale nějak vůbec netuším jak na to. V v compose/service command to definovat nejde, nebo jsem nepochopil jak, na $(command) mi to vrátí že mám použít $$(command) - ale k expanzi na konečném nodu vůbec nedojde, mám pocit, že ta expanze navíc probíhá na mém hostu, z kterýho pouštím docker stack deploy.. Tj. nejsem schopen vytvořit service tak, abych použila tamní prostředí. Asi jsem něco přehlédl.

Pak jsme si všiml konstrukce přes config:
kde někdo používá: "advertise_addr" : {{ GetInterfaceIP "eth2" }}, -- ale to mi nějak neklaplo..
RUDOLF --- 12:34:05 25.10.2017
RUDOLF: tak moje idiocie - ofiko přístup:

$ ssh -i <path-to-ssh-key> -NL localhost:2374:/var/run/docker.sock docker@<ssh-host> &
$ docker -H localhost:2374 info
??? --- 8:27:12 25.10.2017
RUDOLF: No, koukam do jejich dokumentace a uprimne mi pripada divny, ze sekce "Deploy your app" neobsahuje jinej postup nez prave ssh do ty remote instance, bych cekal ze takovej deployment exposne nejaky API ... Sorry, nepomuzu :D
RUDOLF --- 8:20:57 25.10.2017
???: TLS -- Aspoň tipuju, Docker for AWS je Cloudformation template od Dockeru co používá vlastní distro. Ale není k tomu moc dokumentace a není mi jasný, jaký klíče ta manager instance použila. Ale nechci ji předkládat svoji - rád bych fungoval, aby to jelo default.
??? --- 7:45:55 25.10.2017
RUDOLF: Jak presne to mas zabezpeceny, resp. jakou authentication potrebujes? Tohle? https://docs.docker.com/engine/security/https/#secure-by-default

Co jsem zbezne kouknul do dokumentace SDK, tak tam zadnej login na socket samotnej neni, takze predpokladam ze to API je pak akorat o certifikatu?
RUDOLF --- 1:03:29 25.10.2017
RUDOLF: ale i to api běží vůči socket nebo https -- a mě furt neklape ta autentifikace..
RUDOLF --- 0:26:16 25.10.2017
???: ale jo, docker remote api je vončo
RUDOLF --- 21:15:25 24.10.2017
???: teď jsem na to zběžně juknul a jestli jsem to správně pochopil, tak swarm API k tomu primárně neslouží. Možná to jde, ale netváří se to jako standardní cesta. Ale na týhle úrovni si s tím hraju poprvé. Jinak ten docker-for-aws/swarm zatím působí příjemně, kdybych měl jenkinse na aws, tak by to asi šlapalo jak po drátkách.