ื‘ื—ื™ื ืช ื”ืื‘ื˜ื—ื” (ื”ื—ืกืจื”) ืฉืœ ื”ืชืงื ื•ืช ื˜ื™ืคื•ืกื™ื•ืช ืฉืœ Docker ื•-Kubernetes

ื‘ื—ื™ื ืช ื”ืื‘ื˜ื—ื” (ื”ื—ืกืจื”) ืฉืœ ื”ืชืงื ื•ืช ื˜ื™ืคื•ืกื™ื•ืช ืฉืœ Docker ื•-Kubernetes
ืื ื™ ืขื•ื‘ื“ ื‘-IT ื›ื‘ืจ ื™ื•ืชืจ ืž-20 ืฉื ื”, ืื‘ืœ ืื™ื›ืฉื”ื• ืžืขื•ืœื ืœื ื”ื’ืขืชื™ ืœืžื›ื•ืœื•ืช. ื‘ืชื™ืื•ืจื™ื”, ื”ื‘ื ืชื™ ืื™ืš ื”ื ื‘ื ื•ื™ื™ื ื•ืื™ืš ื”ื ืขื•ื‘ื“ื™ื. ืื‘ืœ ืžื›ื™ื•ื•ืŸ ืฉืžืขื•ืœื ืœื ื ืชืงืœืชื™ ื‘ื”ื ื‘ืคื•ืขืœ, ืœื ื”ื™ื™ืชื™ ื‘ื˜ื•ื— ืื™ืš ื‘ื“ื™ื•ืง ื”ืกืชื•ื‘ื‘ื• ื•ื”ืกืชื•ื‘ื‘ื• ื’ืœื’ืœื™ ื”ืฉื™ื ื™ื™ื ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข ืฉืœื”ื.

ื—ื•ืฅ ืžื–ื”, ืœื ื”ื™ื” ืœื™ ืžื•ืฉื’ ืื™ืš ื”ื‘ื™ื˜ื—ื•ืŸ ืฉืœื”ื. ืื‘ืœ ืฉื•ื‘, ื”ืชื™ืื•ืจื™ื” ื ืฉืžืขืช ื ื—ืžื“ื”, ื•ื”ืฉื™ืจ ื”ื™ืฉืŸ "ื›ื›ืœ ืฉื”ืื‘ื˜ื—ื” ืขื•ืœื”, ื”ืฉื™ืžื•ืฉื™ื•ืช ืคื•ื—ืชืช" ืชืงื•ืข ืœื™ ื‘ืจืืฉ. ืื– ื—ืฉื‘ืชื™ ืฉืžื›ื™ื•ื•ืŸ ืฉื”ื›ืœ ื›ืœ ื›ืš ืงืœ ืœืขืฉื•ืช ืขื ืžื›ื•ืœื•ืช, ืื– ื”ื‘ื˜ื™ื—ื•ืช ืฉื ืžืชื—ืช ืœืจืžื”. ืžืกืชื‘ืจ ืฉืฆื“ืงืชื™.

ื›ื“ื™ ืœื”ืชื—ื™ืœ ืžื”ื™ืจื”, ื ืจืฉืžืชื™ ืœืงื•ืจืกื™ื ื›ื•ื‘ืข ืฉื—ื•ืจ 2020 ื‘ืฉื "ืžืกืžืจื˜ื•ื˜ื™ื ืœืขื•ืฉืจ: ื—ื“ื™ืจื” ื•ื”ื’ื ื” ืขืœ ืกื‘ื™ื‘ื•ืช Docker Swarm ื•-Kubernetes".

ื”ืงื•ืจืก, ืื•ืชื• ื”ืขื‘ื™ืจ ืฉื™ืœื” ื. ื‘ืจื˜ื” ื•ืกื•ืœ ืื•ื–ืŸ, ื”ืชื—ื™ืœ ืžื™ื“ ื‘ืชื™ืื•ืจ ืฉืœ ืื•ืคืŸ ืคืขื•ืœืชืŸ ืฉืœ ืžื›ื•ืœื•ืช Docker ื•ื”ืžืกืข ืฉื”ืŸ ืขื•ืฉื•ืช ื‘ืขืช ืคืจื™ืกื” ืœ-Kubernetes. ื–ื” ื”ื™ื” ืฉื™ืขื•ืจ ืžืขืฉื™ ืœื—ืœื•ื˜ื™ืŸ - ื”ืชืœืžื™ื“ื™ื ื”ื™ื• ืฆืจื™ื›ื™ื ืœื”ืชืงื™ืŸ ืืช Docker ื•-microk8s ืขืœ ื”ืžื›ื•ื ื•ืช ืฉืœื”ื ืœืคื ื™ ื”ืฉื™ืขื•ืจ - ื“ืจืš ืžืฆื•ื™ื ืช ืœืจืื•ืช ืื™ืš ื”ื›ืœื™ื ืžืชืงืฉืจื™ื ื–ื” ืขื ื–ื”, ืœืžืฆื•ื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื•ื‘ืขื™ืงืจ ืœื ืกื•ืช ืœื—ืกื•ื ืื•ืชื.

ืœืฆืขืจื™, ืœืžืจื•ืช ืฉื”ืงื•ืจืกื™ื ื”ื‘ื˜ื™ื—ื• ืœื”ืคื•ืš ืœ"ื ืกื™ืš" ืœืื—ืจ ื™ื•ืžื™ื™ื, ื”ืจื’ืฉืชื™ ืฉื”ื›ืœ ืจืง ืžืชื—ื™ืœ, ื•ืขื“ื™ื™ืŸ ื™ืฉ ืœื™ ื”ืจื‘ื” ืžื” ืœืœืžื•ื“.

ื‘ื—ื™ื ืช ื”ืื‘ื˜ื—ื” (ื”ื—ืกืจื”) ืฉืœ ื”ืชืงื ื•ืช ื˜ื™ืคื•ืกื™ื•ืช ืฉืœ Docker ื•-Kubernetes

ืœืคื ื™ ืฉืฆื•ืœืœ ืืœ ื”ืชืฆืคื™ื•ืช ื”ื ืขืœื•ืช ืฉืœื™, ื—ืฉื•ื‘ ืœื”ืกื‘ื™ืจ ืžื” ื–ื” ืžื™ื›ืœ. ื‘ืขื•ืœื ื”ืคื™ืชื•ื—, ื–ื” ื ื—ืฉื‘ ื ื•ืจืžืœื™ ืฉื”ืงื•ื“ ืฉื ื›ืชื‘ ื‘ืžื—ืฉื‘ ื”ืื™ืฉื™ ืฉืœืš ื™ืขื‘ื•ื“ ื‘ืฆื•ืจื” ืžื•ืฉืœืžืช, ืื‘ืœ ื›ืฉืืชื” ืžื ืกื” ืœื”ืจื™ืฅ ืื•ืชื• ืขืœ ืฉืจืช ืื™ืคืฉื”ื•, ื–ื” ืคืฉื•ื˜ ืœื ืขื•ื‘ื“. ืงื•ื ื˜ื™ื™ื ืจื™ื ืžื ืกื™ื ืœื”ืชื’ื‘ืจ ืขืœ ื‘ืขื™ื” ื–ื• ืขืœ ื™ื“ื™ ืืกืคืงืช ืžื›ื•ื ื•ืช ืขืฆืžืื™ื•ืช ืฉืชื•ื›ืœ ืœื”ืขื‘ื™ืจ ื‘ืงืœื•ืช ืžืฉืจืช ืื—ื“ ืœืžืฉื ื”ื•, ื‘ื™ื“ื™ืขื” ืฉื”ืŸ ืชืžื™ื“ ื™ืขื‘ื“ื•. ื›ืคื™ ืฉื”ืฉื ืžืจืžื–, ื”ื ืžื›ื™ืœื™ื ืืช ื”ืงื•ื“, ื”ืกืคืจื™ื•ืช ื•ืชื•ื›ื ื•ืช ืื—ืจื•ืช ื”ื“ืจื•ืฉื•ืช ื›ื“ื™ ืœื‘ืฆืข ืืช ื”ืขื‘ื•ื“ื”. Kubernetes, ืœืขื•ืžืช ื–ืืช, ื”ื•ื ืคืœื˜ืคื•ืจืžืช ืชื–ืžื•ืจ ืœืžื›ื•ืœื•ืช. ื‘ืื•ืคืŸ ืขืงืจื•ื ื™, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœื ื”ืœ ื‘ืฆื•ืจื” ื—ืœืงื” ืžืื•ืช ืื• ืืœืคื™ ืžื›ื•ืœื•ืช ืฉื•ื ื•ืช.

ืœื”ืœืŸ ื›ืžื” ืžื”ืžืžืฆืื™ื ืฉืœื™ ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœ ื”ืฆื•ื•ืช ื”ืื“ื•ื ื•ื”ื›ื—ื•ืœ.

ืงื‘ื•ืฆื” ืื“ื•ืžื”

ืจื•ื‘ ืชื•ื›ืŸ ื”ืžื›ื•ืœื” ืคื•ืขืœ ื›ืฉื•ืจืฉ: ื”ืžืฉืžืขื•ืช ื”ื™ื ืฉืื ื”ืžื™ื›ืœ ื ืคื’ืข, ืชื”ื™ื” ืœืš ื’ื™ืฉื” ืžืœืื” ืœืžื›ื•ืœื”. ื–ื” ืžืงืœ ื‘ื”ืจื‘ื” ืขืœ ื”ืฉืœื‘ื™ื ื”ื‘ืื™ื.

ื”ืจื›ื‘ืช docker.sock ื‘ืชื•ืš ืžื›ื•ืœื” ืžืกื•ื›ื ืช: ืื ื™ืฉ ืœืš ืฉื•ืจืฉ ื‘ืชื•ืš ืงื•ื ื˜ื™ื™ื ืจ ื•ื’ื ื”ืชืงื ืช Docker ื‘ืชื•ืš ืงื•ื ื˜ื™ื™ื ืจ ืฉื™ืฉ ืœื• ืฉืงืข Docker (/var/run/docker.sock), ื™ืฉ ืœืš ืคื•ื˜ื ืฆื™ืืœ ืœื—ืงื•ืจ ืืช ื›ืœ ื”ืืฉื›ื•ืœ, ื›ื•ืœืœ ื’ื™ืฉื” ืœื›ืœ ืงื•ื ื˜ื™ื™ื ืจ ืื—ืจ. ืœื ื ื™ืชืŸ ืœืžื ื•ืข ื’ื™ืฉื” ื›ื–ื• ืขืœ ื™ื“ื™ ื‘ื™ื“ื•ื“ ืจืฉืช ืื• ืืžืฆืขื™ื ืื—ืจื™ื.

ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืžื›ื™ืœื™ื ืœืจื•ื‘ ื ืชื•ื ื™ื ืกื•ื“ื™ื™ื: ื‘ืจื•ื‘ ื”ืžืงืจื™ื, ืื ืฉื™ื ืฉื•ืœื—ื™ื ืกื™ืกืžืื•ืช ืœืžื™ื›ืœ ื‘ืืžืฆืขื•ืช ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืจื’ื™ืœื™ื. ืื– ืื ื™ืฉ ืœืš ื’ื™ืฉื” ืœื—ืฉื‘ื•ืŸ, ืืชื” ื™ื›ื•ืœ ืœืจื’ืœ ืื—ืจ ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืืœื” ื›ื“ื™ ืœื”ืจื—ื™ื‘ ืžืื•ื—ืจ ื™ื•ืชืจ ืืช ื”ืกืžื›ื•ื™ื•ืช ืฉืœืš.

Docker API ื™ื›ื•ืœ ืœืกืคืง ืžื™ื“ืข ืจื‘: ื”-API ืฉืœ Docker, ื›ืืฉืจ ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืคื•ืขืœ ืœืœื ื”ืจืฉืื” ื•ื™ื›ื•ืœ ืœื™ื™ืฆืจ ื”ืžื•ืŸ ืžื™ื“ืข. ื‘ืืžืฆืขื•ืช Shodan, ืชื•ื›ืœื• ืœืžืฆื•ื ื‘ืงืœื•ืช ืจืฉื™ืžื” ืฉืœ ื™ืฆื™ืื•ืช ืคืชื•ื—ื•ืช, ื•ืื– ืœืงื‘ืœ ืžื™ื“ืข ืžืคื•ืจื˜ ืขืœ ื”ืืฉื›ื•ืœ - ื•ืœื”ืžืฉื™ืš ืœืœื›ื™ื“ื” ื”ืžืœืื” ืฉืœื•. TrendMicro ื›ืชื‘ ืขืœ ื–ื” ื”ืžืืžืจ ื”ื›ื™ ืžืขื ื™ื™ืŸ.

ืงื‘ื•ืฆื” ื›ื—ื•ืœื”

ืืœ ืชืคืขื™ืœ ืชื•ื›ืŸ ืžื™ื›ืœ ื›ืฉื•ืจืฉ: ืœืžืจื•ืช ืฉืงืœ ื™ื•ืชืจ ืœื”ืคืขื™ืœ ืื•ืชื• ื›ืฉื•ืจืฉ, ืืชื” ืœื ืฆืจื™ืš ืœืขืฉื•ืช ืืช ื–ื”. ื‘ืžืงื•ื ื–ืืช, ื”ืคืขืœ ื™ื™ืฉื•ืžื™ื ืขื ื”ืจืฉืื•ืช ืื™ืคื•ืก ืขืœ ื™ื“ื™ ื”ืฆื’ืช ื”-uid, ืื• ื‘ืืžืฆืขื•ืช ื”ืืคืฉืจื•ืช --user ื‘ืขืช ื”ืคืขืœื” ืžื”-CLI, ืื• ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ USER ื‘-Dockerfile.

ืืœ ืชืืคืฉืจ ื”ืชืงื ืช ืชื•ื›ื ื” ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื: ื›ืžืขื˜ ื›ืœ ื”ืชืงืคื” ืžืชื—ื™ืœื” ื‘ื ื˜ื™ืขืช ืžืฉื”ื•. ืž-nmap ื•ืขื“ ifconfig ื•ืขื“ Docker ืขืฆืžื• (ื‘ืชื•ืš ืงื•ื ื˜ื™ื™ื ืจ), ื”ืชืงื ืช ื›ืœ ื“ื‘ืจ ื‘ืงื•ื ื˜ื™ื™ื ืจ ื”ื™ื™ืชื” ื“ื‘ืจ ืฉื‘ืฉื’ืจื”. ืžืื•ืชื” ืกื™ื‘ื”, ืขืœื™ืš ืชืžื™ื“ ืœื—ืกื•ื ืืช ื›ืœ ื”ื™ืฆื™ืื•ืช ืฉืื™ื ืŸ ื‘ืฉื™ืžื•ืฉ. ื–ื” ื’ื ืขื•ื–ืจ ืœืžื ื•ืข ื”ืขื‘ืจืช ืคืงื•ื“ื•ืช ื‘ืงืจื” ื›ืืฉืจ ื”ืžื›ืฉื™ืจ ืฉืœืš ื ื’ื•ืข. ื‘ื ื•ืกืฃ ืœืžื ื™ืขืช ื”ืชืงื ืช ืชื•ื›ื ื•ืช, ื›ื“ืื™ ืœื•ื•ื“ื ืฉื‘ืžื›ื•ืœื” ืขืฆืžื” ืžื•ืชืงื ื•ืช ืžืกืคืจ ื”ืืคืœื™ืงืฆื™ื•ืช ื”ืžื™ื ื™ืžืœื™ ื”ื ื“ืจืฉ ืœื”ืฉืœืžืช ื”ืžืฉื™ืžื”.

ื”ื’ืŸ ืขืœ docker.sock: ื™ืฉ ืœื”ื’ืŸ ืขืœื™ื• ืžื›ื™ื•ื•ืŸ ืฉื”ืชืงืฉื•ืจืช ื‘ื™ืŸ ื”ืžื™ื›ืœ ืœืืฉื›ื•ืœ ืžืขื•ื‘ื“ืช ื“ืจืš ืฉืงืข ื–ื”. ืžื›ื™ื•ื•ืŸ ืฉืื ื™ ืœื ืจื•ืฆื” ืœื”ื™ื›ื ืก ืœืคืจื˜ื™ื ื‘ืžืืžืจ ื–ื”, ืงืจื ื”ืขืจื” ืฉืœ Docker, ืžื” ื™ื›ื•ืœ ืœืงืจื•ืช, ื•ื’ื ืื™ืš ืœื—ืกื•ื ืืช ื”ื›ืœ.

ื”ืฉืชืžืฉ ื‘ืกื•ื“ื•ืช Docker ื‘ืžืงื•ื ื‘ืžืฉืชื ื™ ืกื‘ื™ื‘ื”: ื™ืฉ ืกื•ื“ื•ืช ืžืื– 2017 ื‘ืขืจืš. ืœืžืจื•ืช ืฉื–ื” ืœื ืžืื•ื‘ื˜ื—, ื–ื” ืขื“ื™ื™ืŸ ืขื“ื™ืฃ ืขืœ ืžืฉืชื ื™ ืกื‘ื™ื‘ื” ืœื”ืขื‘ืจืช ื ืชื•ื ื™ื ืกื•ื“ื™ื™ื ืœืžื™ื›ืœ.

ืื ื”ืžืืžืจ ืขื•ืจืจ ืืช ื”ืขื ื™ื™ืŸ ืฉืœืš ื‘ืงื•ื ื˜ื™ื™ื ืจื™ื, ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœื”ืชืงื™ืŸ Docker ืื• microk8s (ื’ืจืกื” ืงื˜ื ื” ืฉืœ Kubernetes). ื›ืืŸ ื™ืฉ ื”ื•ืจืื•ืช ืœื”ืชืงื ืช Docker ืขื‘ื•ืจ ืœื™ื ื•ืงืก ื•-MacOS, ื•ื›ืŸ ื›ืืŸ - ื”ื•ืจืื•ืช ืœื”ืชืงื ืช microk8s ืขื‘ื•ืจ Windows, Linux ื•- MacOS.

ืœืื—ืจ ื”ื”ืชืงื ื” ืืชื” ื™ื›ื•ืœ ืœืœื›ืช ื–ื”ื• ืžื“ืจื™ืš ืœื”ืชื—ืœื” ืžื”ื™ืจื” ืž- Docker, ืืคืฉืจื•ืช ื“ื•ืžื” ืžื•ืฆืข ื•ืขื‘ื•ืจ microk8s.

ืื ืืชื” ืจื•ืฆื” ืื• ืฆืจื™ืš ืœืงื—ืช ืงื•ืจืก ืžืงื™ืฃ ืขืœ Docker, ืฉื‘ื• ื“ื•ื‘ืจื™ื ืžืขืฉื™ื™ื ื‘ื•ื—ื ื™ื ืืช ื›ืœ ื”ื›ืœื™ื ืฉืœื•: ืžื”ืคืฉื˜ื•ืช ื‘ืกื™ืกื™ื•ืช ื•ืขื“ ืœืคืจืžื˜ืจื™ื ืฉืœ ืจืฉืช, ื ื™ื•ืื ืกื™ื ืฉืœ ืขื‘ื•ื“ื” ืขื ืžืขืจื›ื•ืช ื”ืคืขืœื” ื•ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช, ืื– ื ืกื” "ืงื•ืจืก ื•ื™ื“ืื• ืฉืœ ื“ื•ืงืจ" ืืชื” ืชื›ื™ืจ ืืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ื•ืชื‘ื™ืŸ ื”ื™ื›ืŸ ื•ืื™ืš ื”ื›ื™ ื˜ื•ื‘ ืœื”ืฉืชืžืฉ ื‘-Docker. ื•ื™ื—ื“ ืขื ื–ืืช, ืงื‘ืœื• ืžืงืจื™ ืชืจื’ื•ืœ ืžื•ืžืœืฆื™ื - ืขื“ื™ืฃ ืœืœืžื•ื“ ื‘ื‘ื˜ื—ื” ื•ื‘ืชืžื™ื›ื” ืฉืœ ืžืชืจื’ืœื™ื ืžืกื™ืคื•ืจื™ื ืขืœ ืžื’ืจืคื•ืช ืžืืฉืจ ื‘ืื•ืคืŸ ืื™ืฉื™ ืžื”ืžื’ืจืคื•ืช ืขืฆืžืŸ ืขื ื™ื“ื™ื•ืช ืžืคื•ืชืœื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”