ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืคึฟืึทืจ Kubernetes: ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ืกื˜ืึทื˜ืขืคื•ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–

ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ืกื˜ื™ื™ื˜ืคื•ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ Kubernetes

ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืงืึทื˜ืขืจ ืื•ืŸ ื•ื•ื™ื™ึทื˜ืขืจ ืกืงื™ื™ืœื™ื ื’ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ื‘ืึทื“ื™ื ื•ื ื’ืก ืื™ื– ื’ืจื™ื ื’ ื•ื•ืขืŸ ืขืก ืงื•ืžื˜ ืฆื• ืงืึทืกืขืก ืงืœืึทืกืึทืคื™ื™ื“ ื•ื•ื™ ืกื˜ื™ื™ื˜ืœืขืกืก, ื“.ื”. ืึธืŸ ืฉืคึผืึธืจืŸ ื“ืึทื˜ืŸ. ืขืก ืื™ื– ื‘ืึทืงื•ื•ืขื ืฆื• ืœื•ื™ืคืŸ ืึทื–ืึท ื‘ืึทื“ื™ื ื•ื ื’ืก ืื™ืŸ Kubernetes, ื ื™ืฆืŸ ื–ื™ื™ึทืŸ ื ืึธืจืžืึทืœ ืึทืคึผื™ืก, ื•ื•ื™ื™ึทืœ ืึทืœืฅ ื›ืึทืคึผืึทื ื– "ืื•ื™ืก ืคื•ืŸ ื“ื™ ืงืขืกื˜ืœ": ืœื•ื™ื˜ ื ืึธืจืžืึทืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–, ืึธืŸ ื™ื ื•ื•ืึทืœื•ื•ื™ื ื’ ืงื™ื™ืŸ ืกืคึผืขืกื™ืคื™ืงืก ืึธื“ืขืจ ืžืึทื’ื™ืฉ.

ืกื™ืžืคึผืœื™ ืฉื˜ืขืœืŸ, ืฆื• ืงืึทื˜ืขืจ ืคื™ื ืฃ ืžืขืจ ืขืงื–ืขืžืคืœืืจืŸ ืคื•ืŸ ื“ื™ ื‘ืึทืงืขื ื“ ืื™ืŸ PHP / ืจื•ื‘ื™ / ืคึผื™ื˜ื”ืึธืŸ ืื™ืŸ ืึท ืงื ื•ื™ืœ ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–, ืื™ืจ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉื˜ืขืœืŸ ืึทืจื•ื™ืฃ ืึท ื ื™ื™ึท ืกืขืจื•ื•ืขืจ 5 ืžืืœ ืื•ืŸ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืงื•ื•ืืœืŸ. ื–ื™ื ื˜ ื‘ื™ื™ื“ืข ื“ื™ ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ื“ื™ ื™ื ื™ื˜ ืฉืจื™ืคื˜ ื–ืขื ืขืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“, ืกืงื™ื™ืœื™ื ื’ ืึท ืกื˜ื™ื™ื˜ืœืขืกืก ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขืจื˜ ื’ืึธืจ ืขืœืขืžืขื ื˜ืึทืจ. ื•ื•ื™ ืคืึทื ืก ืคื•ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ืžื™ืงืจืึธืกืขืจื•ื•ื™ืก ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ื•ื•ื™ืกืŸ ื’ืขื–ื•ื ื˜, ื“ื™ ืฉื•ื•ืขืจื™ืงื™ื™ื˜ ื”ื™ื™ื‘ื˜ ืžื™ื˜ ืกื˜ืึทื˜ืขืคื•ืœ ืึทืคึผืคึผืก, ื“.ื”. ืžื™ื˜ ื“ืึทื˜ืŸ ืคึผืขืจืกื™ืกื˜ืึทื ืก ืึทื–ืึท ื•ื•ื™ ื“ืึทื˜ืึทื‘ื™ื™ืกื™ื– ืื•ืŸ ืงืึทื˜ืฉืขืก (MySQL, PostgreSQL, Redis, ElasticSearch, Cassandra ...). ื“ืึธืก ืึทืคึผืœื™ื™ื– ืฆื• ื‘ื™ื™ื“ืข ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืึธืก ื™ืžืคึผืœืึทืžืึทื ืฅ ื™ื ื“ื™ืคึผืขื ื“ืึทื ื˜ืœื™ ืึท ืงื•ื•ืึธืจื•ื ืงื ื•ื™ืœ (ืœืžืฉืœ, Percona XtraDB ืื•ืŸ Cassandra), ืื•ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ื‘ืึทื–ื•ื ื“ืขืจ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ื™ื•ื˜ื™ืœืึทื˜ื™ื– (ืึทื–ืึท ื•ื•ื™ Redis, MySQL, PostgreSQL ...).

ืฉื•ื•ืขืจื™ืงื™ื™ื˜ืŸ ืื•ื™ืคืฉื˜ื™ื™ืŸ ื•ื•ื™ื™ึทืœ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ื“ื™ ื“ื™ื ืกื˜ ื–ืขื ืขืŸ ื ื™ื˜ ืžืขืจ ื’ืขื ื•ื’ - ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ืขื˜ืœืขื›ืข ืกื˜ืขืคึผืก. ืื™ืŸ ืึท ืžื™ื ื™ืžื•ื, ื ืึธื›ืžืึทื›ืŸ ื“ื™ ื“ืึทื˜ืŸ ืื•ืŸ / ืึธื“ืขืจ ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ืงื ื•ื™ืœ. ืžืขืจ ื’ืขื ื•ื™, ื“ื™ ืกืขืจื•ื•ื™ืกืขืก ื“ืึทืจืคืŸ ืึท ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ื•ื•ื™ ืฆื• ืจืขื›ื˜ ื•ื•ืึธื’, ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืื•ืŸ ืจื™ืงืึทื ืคื™ื’ื™ืขืจ ื–ื™ื™ ืึธืŸ ื“ืึทื˜ืŸ ืึธื ื•ื•ืขืจ ืึธื“ืขืจ ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ืึทื ืึทื•ื•ื™ื™ืœืึทื‘ื™ืœื™ื˜ื™. ื’ืขื ื•ืžืขืŸ ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืื™ืŸ ื—ืฉื‘ื•ืŸ ืื™ื– ื’ืขืจื•ืคืŸ "ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื•ื•ื™ืกืŸ".

ืงืึธืจืขืึธืก ืึธืคึผืขืจื™ื™ื˜ืขืจื–

ืื™ืŸ ืกื“ืจ ืฆื• "ืคึผืจืึธื’ืจืึทื" ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื•ื•ื™ืกืŸ, ืฉืคึผืขื˜ ืœืขืฆื˜ืข ื™ืึธืจ ื“ื™ CoreOS ืคึผืจื•ื™ืขืงื˜ ื‘ืึทืงืขื ืขื  "ืึท ื ื™ื™ึทืข ืกืึธืจื˜ ืคื•ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’" ืคึฟืึทืจ ื“ื™ Kubernetes ืคึผืœืึทื˜ืคืึธืจืžืข - ืึธืคึผืขืจื™ื™ื˜ืขืจื– (ืคึฟื•ืŸ ื“ื™ ืขื ื’ืœื™ืฉ "ืึธืคึผืขืจืึทืฆื™ืข", ื“"ื” "ืึธืคึผืขืจืึทืฆื™ืข").

ืึธืคึผืขืจื™ื™ื˜ืขืจื– ื ื™ืฆืŸ ืื•ืŸ ืคืึทืจื‘ืจื™ื™ื˜ืขืจืŸ ื“ื™ ื”ืึทืจืฅ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคื•ืŸ Kubernetes (ื™ื ืงืœ. ืกื˜ื™ื™ื˜ืคื•ืœืกืขืฅ, ื–ืขืŸ ื“ื™ ื—ื™ืœื•ืง ืื•ื ื˜ืŸ) ืœืึธื–ืŸ DevOps ืกืคึผืขืฉืึทืœืึทืกืฅ ืฆื• ืœื™ื™ื’ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื•ื•ื™ืกืŸ ืฆื• ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“.

ืึธืคึผืขืจืึทื˜ืึธืจ ืก ืฆื™ืœ - ืฆื•ืฉื˜ืขืœืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืึท ืึทืคึผื™ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคื™ืจืŸ ืงื™ื™ืคืœ ืกื˜ื™ื™ื˜ืคื•ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืขื ื˜ื™ื˜ื™ื– ืื™ืŸ ืึท Kubernetes ืงื ื•ื™ืœ, ืึธืŸ ื˜ืจืื›ื˜ืŸ ื•ื•ืขื’ืŸ ื•ื•ืึธืก ืื™ื– ืื•ื ื˜ืขืจ ื“ื™ ืงืึทืคึผื˜ืขืจ (ื•ื•ืึธืก ื“ืึทื˜ืŸ ืื•ืŸ ื•ื•ืึธืก ืฆื• ื˜ืึธืŸ ืžื™ื˜ ืื™ื, ื•ื•ืึธืก ืงืึทืžืึทื ื“ื– ื ืึธืš ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืฆื• ื”ืึทืœื˜ืŸ ื“ืขื ืงื ื•ื™ืœ ). ืื™ืŸ ืคืึทืงื˜, ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ื“ื™ื–ื™ื™ื ื“ ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ ืึทืจื‘ืขื˜ ืžื™ื˜ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ ื•ื•ื™ ืคื™ืœ ื•ื•ื™ ืžืขื’ืœืขืš, ืึธื˜ืึทืžื™ื™ื˜ื™ื ื’ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื˜ืึทืกืงืก ื•ื•ืึธืก ื‘ื™ื– ืึทื”ืขืจ ื”ืื˜ ืฆื• ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“ ืžืึทื ื™ื•ืึทืœื™.

ื•ื•ื™ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืึทืจื‘ืขื˜

ืจืขืคึผืœื™ืงืข ืกืขืฅ Kubernetes ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื ื•ืžืขืจ ืคื•ืŸ ืคืœื™ืกื ื“ื™ืง ืคึผืึธื“ืก, ืื•ืŸ ืงืึทื ื˜ืจืึธื•ืœืขืจื– ืขื ืฉื•ืจ ืึทื– ื–ื™ื™ืขืจ ื ื•ืžืขืจ ืื™ื– ืžื™ื™ื ื˜ื™ื™ื ื“ (ื“ื•ืจืš ืงืจื™ื™ื™ื˜ื™ื ื’ ืื•ืŸ ื•ื™ืกืžืขืงืŸ ืคึผืึธื“ืก). ืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ืึทืจื‘ืขื˜ ืื•ื™ืฃ ืึท ืขื ืœืขืš ื•ื•ืขื’, ืึทื“ื™ื ื’ ืึท ืกื›ื•ื ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ื•ื•ื™ืกืŸ ืฆื• ืึท ื ืึธืจืžืึทืœ Kubernetes ืžื™ื˜ืœ ืื•ืŸ ืงืึธื ื˜ืจืึธืœืœืขืจ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื ืึธืš ืึทืงืฉืึทื ื– ืฆื• ืฉื˜ื™ืฆืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ื ื•ืžืขืจ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืขื ื˜ื™ื˜ื™ื–.

ื•ื•ื™ ืื™ื– ื“ืึธืก ืึทื ื“ืขืจืฉ ืคื•ืŸ ืกื˜ื™ื™ื˜ืคื•ืœืกืขืฅ, ื“ื™ื–ื™ื™ื ื“ ืคึฟืึทืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื“ืึทืจืคืŸ ื“ื™ ืงื ื•ื™ืœ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ื–ื™ื™ ืžื™ื˜ ืกื˜ื™ื™ื˜ืคื•ืœ ืจืขืกื•ืจืกืŸ ืึทื–ืึท ื•ื•ื™ ื“ืึทื˜ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืึธื“ืขืจ ืกื˜ืึทื˜ื™ืง ื™ืคึผืก? ืคึฟืึทืจ ืึทื–ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืงืขื ืขืŸ ื ื•ืฆืŸ ืกื˜ื™ื™ื˜ืคื•ืœืกืขืฅ (ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืจืขืคึผืœื™ืงืข ืกืขืฅ) ื•ื•ื™ ืึท ื™ืงืขืจ, ืงืจื‘ืŸ ื ืึธืš ืึธื˜ืึทืžื™ื™ืฉืึทืŸ: ื“ื•ืจื›ืคื™ืจืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ืึทืงืฉืึทื ื– ืื™ืŸ ืคืึทืœ ืคื•ืŸ ืงืจืึทืฉื™ื–, ืžืึทื›ืŸ ื‘ืึทืงืึทืคึผืก, ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ, ืขื˜ืง.

ืื–ื•ื™, ื•ื•ื™ ื˜ื•ื˜ ื“ืึธืก ืึทืœืฅ ืึทืจื‘ืขื˜? ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืึท ืคืึทืจื•ื•ืึทืœื˜ืขืจ ื“ื™ื™ืžืึทืŸ ืึทื–:

  1. ืึทื‘ืึธื ื™ืจืŸ ืฆื• ื“ื™ ื’ืขืฉืขืขื ื™ืฉ ืึทืคึผื™ ืื™ืŸ Kubernetes;
  2. ื‘ืืงื•ืžื˜ ืคึฟื•ืŸ ืขืก ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื“ื™ ืกื™ืกื˜ืขื (ื•ื•ืขื’ืŸ ื–ื™ื™ึทืŸ ืจืขืคึผืœื™ืงืข ืกืขืฅ, ืคึผืึธื“ืก, ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ืŸ ืื–ื•ื™ ื•ื•ื™ื™ื˜ืขืจ.);
  3. ื ืขืžื˜ ื“ืึทื˜ืŸ ื•ื•ืขื’ืŸ ื“ืจื™ื˜ ื˜ื™ื™ืœื•ื•ื™ื™ึทื– ืจืขืกืึธื•ืจืกืขืก (ื–ืขืŸ ื‘ื™ื™ืฉืคื™ืœืŸ ืื•ื ื˜ืŸ);
  4. ืจื™ืึทืงืฅ ืฆื• ืื•ื™ืกื–ืขืŸ / ื˜ื•ื™ืฉืŸ ื“ืจื™ื˜ ื˜ื™ื™ืœื•ื•ื™ื™ึทื– ืจืขืกืึธื•ืจืกืขืก (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ื’ืจื™ื™ืก, ื˜ื•ื™ืฉืŸ ื“ื™ ื•ื•ืขืจืกื™ืข, ืื•ืŸ ืึทื–ื•ื™ ืื•ื™ืฃ);
  5. ืจื™ืึทืงืฅ ืฆื• ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืกื™ืกื˜ืขื (ื•ื•ืขื’ืŸ ื–ื™ื™ึทืŸ ืจืขืคึผืœื™ืงืข ืกืขืฅ, ืคึผืึธื“ืก, ื‘ืึทื“ื™ื ื•ื ื’ืก ืื•ืŸ ืื–ื•ื™ ื•ื•ื™ื™ื˜ืขืจ.);
  6. ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง:
    1. ืจื•ืคื˜ ื“ื™ Kubernetes API ืฆื• ืฉืึทืคึฟืŸ ืึทืœืฅ ื•ื•ืึธืก ืขืก ื“ืึทืจืฃ (ื•ื•ื™ื“ืขืจ, ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืจืขืคึผืœื™ืงืข ืกืขืฅ, ืคึผืึธื“ืก, ื‘ืึทื“ื™ื ื•ื ื’ืก...),
    2. ืคึผืขืจืคืึธืจืžื– ืขื˜ืœืขื›ืข ืžืึทื’ื™ืฉ (ืฆื• ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ, ืื™ืจ ืงืขื ืขืŸ ื˜ืจืึทื›ื˜ืŸ ืึทื– ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ื’ื™ื™ื˜ ืื™ืŸ ื“ื™ ืคึผืึธื“ืก ื–ื™ืš ืื•ืŸ ืจื•ืคื˜ ืงืึทืžืึทื ื“ื–, ืœืžืฉืœ, ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืึท ืงื ื•ื™ืœ ืึธื“ืขืจ ืึทืคึผื’ืจื™ื™ื“ ื“ื™ ื“ืึทื˜ืŸ ืคึฟืึธืจืžืึทื˜ ื•ื•ืขืŸ ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ืึท ื•ื•ืขืจืกื™ืข).

ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืคึฟืึทืจ Kubernetes: ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ืกื˜ืึทื˜ืขืคื•ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–
ืื™ืŸ ืคืึทืงื˜, ื•ื•ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื–ืขืŸ ืคื•ืŸ ื“ื™ ื‘ื™ืœื“, ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืคืฉื•ื˜ ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• Kubernetes (ืึท ืจืขื’ื•ืœืขืจ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ั ืจืขืคึผืœื™ืงืข ืกืขื˜), ื•ื•ืึธืก ืื™ื– ื’ืขืจื•ืคืŸ ื“ื™ ืึธืคึผืขืจืึทื˜ืึธืจ. ืขืก ืœืขื‘ื˜ ืื™ืŸ ืึท ืคึผืจืึธืกื˜ ืคึผืึธื“ (ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ื‘ืœื•ื™ื– ืื™ื™ืŸ) ืื•ืŸ, ื•ื•ื™ ืึท ื”ืขืจืฉืŸ, ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ื‘ืœื•ื™ื– ืคึฟืึทืจ ื–ื™ื™ึทืŸ Namespace. ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ื–ื™ื™ึทืŸ ืึทืคึผื™ - ื›ืึธื˜ืฉ ื ื™ื˜ ื’ืœื™ื™ึทืš, ืึธื‘ืขืจ ื“ื•ืจืš ื“ืจื™ื˜ ื˜ื™ื™ืœื•ื•ื™ื™ึทื– ืจืขืกืึธื•ืจืกืขืก ืื™ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก.

ืื–ื•ื™, ื ืึธืš ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืืฉืืคืŸ ืื™ืŸ Namespace ืึธืคึผืขืจืึทื˜ืึธืจ, ืžื™ืจ ืงืขื ืขืŸ ืœื™ื™ื’ืŸ ืฆื• ืขืก ื“ืจื™ื˜ ื˜ื™ื™ืœื•ื•ื™ื™ึทื– ืจืขืกืึธื•ืจืกืขืก.

ื‘ื™ื™ึทืฉืคึผื™ืœ ืคึฟืึทืจ ืขื˜ืง (ื–ืขืŸ ื•ื•ื™ื™ื˜ืขืจ ืคึฟืึทืจ ืคืจื˜ื™ื):

apiVersion: etcd.coreos.com/v1beta1
kind: Cluster
metadata:
  name: example-etcd-cluster
spec:
  size: 3
  version: 3.1.0

ื‘ื™ื™ึทืฉืคึผื™ืœ ืคึฟืึทืจ Elasticsearch:

apiVersion: enterprises.upmc.com/v1
kind: ElasticsearchCluster
metadata:
  name: example-es-cluster
spec:
  client-node-replicas: 3
  master-node-replicas: 2
  data-node-replicas: 3
  zones:
  - us-east-1c
  - us-east-1d
  - us-east-1e
  data-volume-size: 10Gi
  java-options: "-Xms1024m -Xmx1024m"
  snapshot:
    scheduler-enabled: true
    bucket-name: elasticsnapshots99
    cron-schedule: "@every 2m"
  storage:
    type: gp2
    storage-class-provisioner: kubernetes.io/aws-ebs

ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ืึธืคึผืขืจื™ื™ื˜ืขืจื–

CoreOS ืคืืจืžื•ืœื™ืจื˜ ื“ื™ ื”ื•ื™ืคึผื˜ ืคึผืึทื˜ืขืจื ื– ื‘ืืงื•ืžืขืŸ ื“ื•ืจืš ืขื ื“ื–ืฉืึทื ื™ืจื– ื‘ืฉืขืช ืืจื‘ืขื˜ืŸ ืื•ื™ืฃ ืึธืคึผืขืจื™ื™ื˜ืขืจื–. ื˜ืจืึธืฅ ื“ืขืจ ืคืึทืงื˜ ืึทื– ืึทืœืข ืึธืคึผืขืจื™ื™ื˜ืขืจื– ื–ืขื ืขืŸ ื™ื—ื™ื“ (ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงืขืจืึทืงื˜ืขืจื™ืกื˜ื™ืงืก ืื•ืŸ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ), ื–ื™ื™ืขืจ ืฉืึทืคื•ื ื’ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึท ืžื™ืŸ ืคื•ืŸ ืคืจื™ื™ืžื•ื•ืขืจืง ื•ื•ืึธืก ื™ืžืคึผืึธื•ื–ืึทื– ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืื“ืขืจืคืขื ื™ืฉืŸ:

  1. ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ื“ื•ืจืš ืึท ืื™ื™ืŸ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜: kubectl ืฉืึทืคึฟืŸ -f SOME_OPERATOR_URL/deployment.yaml - ืื•ืŸ ื˜ืึธืŸ ื ื™ื˜ ื“ืึทืจืคืŸ ื ืึธืš ืึทืงืฉืึทื ื–.
  2. ื•ื•ืขืŸ ื™ื ืกื˜ืึธืœื™ื ื’ ืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ืŸ Kubernetes, ืึท ื ื™ื™ึท ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื˜ื™ืคึผ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ (ThirdPartyResource). ืฆื• ืงืึทื˜ืขืจ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื™ื ืกื˜ืึทื ืกื™ื– (ืงื ื•ื™ืœ ื™ื ืกื˜ืึทื ืกื™ื–) ืื•ืŸ ืคื™ืจืŸ ื–ื™ื™ ื•ื•ื™ื™ึทื˜ืขืจ (ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ื•ื•ืขืจืกื™ืขืก, ืจืขืกื™ื–ื™ื ื’, ืืื–"ื• ื•), ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื•ื•ืขื˜ ื ื•ืฆืŸ ื“ืขื ื˜ื™ืคึผ.
  3. ื•ื•ืขืŸ ืžืขื’ืœืขืš, ืื™ืจ ื–ืึธืœ ื ื•ืฆืŸ ื“ื™ ืคึผืจื™ืžื™ื˜ื™ื•ื•ื– ื’ืขื‘ื•ื™ื˜ ืื™ืŸ Kubernetes, ืึทื–ืึท ื•ื•ื™ ื‘ืึทื“ื™ื ื•ื ื’ืก ะธ ืจืขืคึผืœื™ืงืข ืกืขืฅืฆื• ื ื•ืฆืŸ ื’ืขื–ื•ื ื˜-ื˜ืขืกื˜ืขื“ ืื•ืŸ ืคืึทืจืฉื˜ื™ื™ื™ืง ืงืึธื“.
  4. ืจื™ืงื•ื•ื™ื™ืจื– ืฆื•ืจื™ืง ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืื•ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืขืœื˜ืขืจืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ-ื‘ืืฉืืคืŸ ืจืขืกื•ืจืกืŸ.
  5. ืื•ื™ื‘ ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืึทื•ื•ืขืงื’ืขื ื•ืžืขืŸ, ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื–ื™ืš ื–ืึธืœ ืคืึธืจื–ืขืฆืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ ืึธืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ.
  6. ื™ื•ื–ืขืจื– ื–ืึธืœ ืงืขื ืขืŸ ืฆื• ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขืจืกื™ืข ืื•ืŸ ืึธืจืงืขืกื˜ืจื™ืจืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืขืจืกื™ืข ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ. ืคืขืœืŸ ืคื•ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืื™ื– ืึท ืคึผืจืึธืกื˜ ืžืงื•ืจ ืคื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ืึทืœ ืื•ืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ืคึผืจืึธื‘ืœืขืžืก, ืึทื–ื•ื™ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืžื•ื–ืŸ ืึทืจื•ื™ืฉืขืœืคืŸ ื ื™ืฆืขืจืก ืื™ืŸ ื“ืขื ืขื ื™ืŸ.
  7. ืึธืคึผืขืจื™ื™ื˜ืขืจื– ื–ืึธืœ ื–ื™ื™ืŸ ื˜ืขืกื˜ืขื“ ืžื™ื˜ ืึท ื’ืขืฆื™ื™ึทื’ ื•ื•ื™ Chaos Monkey, ื•ื•ืึธืก ื™ื™ื“ืขื ืึทืคื™ื™ื“ ืคึผืึธื˜ืขื ืฆื™ืขืœ ืคื™ื™ืœื™ืขืจื– ืื™ืŸ ืคึผืึธื“ืก, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืื•ืŸ ื“ื™ ื ืขืฅ.

ืขื˜ืง ืึธืคึผืขืจืึทื˜ืึธืจ

ืึธืคึผืขืจืึทื˜ืึธืจ ื™ืžืคึผืœืขืžืขื ื˜ืึทื˜ื™ืึธืŸ ื‘ื™ื™ึทืฉืคึผื™ืœ - ืขื˜ืง ืึธืคึผืขืจืึทื˜ืึธืจ, ืฆื•ื’ืขื’ืจื™ื™ื˜ ืื•ื™ืฃ ื“ืขื ื˜ืึธื’ ืคื•ืŸ ื“ื™ ืžืขืœื“ืŸ ืคื•ืŸ ื“ืขื ื‘ืึทื’ืจื™ืฃ. ื“ื™ ืขื˜ืง ืงื ื•ื™ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืจืขื›ื˜ ืฆื• ื“ืขืจ ื ื•ื™ื˜ ืฆื• ื”ืึทืœื˜ืŸ ืงื•ื•ืึธืจื•ื, ื“ื™ ื ื•ื™ื˜ ืฆื• ืจื™ืงืึทื ืคื™ื’ื™ืขืจ ืงื ื•ื™ืœ ืžื™ื˜ื’ืœื™ื“ืขืจืฉืึทืคื˜, ืฉืึทืคึฟืŸ ื‘ืึทืงืึทืคึผืก, ืืื–"ื• ื•. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืžืึทื ื™ื•ืึทืœื™ ืกืงื™ื™ืœื™ื ื’ ืึทืŸ ืขื˜ืง ืงื ื•ื™ืœ ืžื™ื˜ืœ ืึทื– ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืึท ื“ื ืก ื ืึธืžืขืŸ ืคึฟืึทืจ ืึท ื ื™ื™ึท ืงื ื•ื™ืœ ืžื™ื˜ื’ืœื™ื“, ืึธื ื”ื™ื™ื‘ืŸ ืึท ื ื™ื™ึท ืขื˜ืง ืขื ื˜ื™ื˜ื™ ืื•ืŸ ืคืœื™ื ืง ื“ืขื ืงื ื•ื™ืœ ื•ื•ืขื’ืŸ ื“ื™ ื ื™ื™ึทืข ืžื™ื˜ื’ืœื™ื“ (etcdctl ืžื™ื˜ื’ืœื™ื“ ืœื™ื™ื’ืŸ). ืื™ืŸ ื“ืขื ืคืึทืœ ืคื•ืŸ ื“ื™ ืึธืคึผืขืจืึทื˜ืึธืจ, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื•ื•ืขื˜ ื ืึธืจ ื“ืึทืจืคึฟืŸ ืฆื• ื˜ื•ื™ืฉืŸ ื“ื™ ืงื ื•ื™ืœ ื’ืจื™ื™ืก - ืึทืœืฅ ืึทื ื“ืขืจืฉ ื•ื•ืขื˜ ืคึผืึทืกื™ืจืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ.

ืื•ืŸ ื–ื™ื ื˜ ืขื˜ืง ืื™ื– ืื•ื™ืš ื‘ืืฉืืคืŸ ืื™ืŸ CoreOS, ืขืก ืื™ื– ื’ืึทื ืฅ ืœืึทื“ื–ืฉื™ืงืึทืœ ืฆื• ื–ืขืŸ ื–ื™ื™ืŸ ืึธืคึผืขืจืึทื˜ืึธืจ ื“ืขืจืฉื™ื™ึทื ืขืŸ ืขืจืฉื˜ืขืจ. ื•ื•ื™ ืึทื–ื•ื™ ืึทืจื‘ืขื˜ ืขืจ? ืึธืคึผืขืจืึทื˜ืึธืจ ืœืึธื’ื™ืง ืขื˜ืง ืื™ื– ื‘ืืฉืœืืกืŸ ื“ื•ืจืš ื“ืจื™ื™ึท ืงืึทืžืคึผืึธื•ื ืึทื ืฅ:

  1. ืึธื‘ืกืขืจื•ื•ื™ืจืŸ. ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ืžืึธื ื™ื˜ืึธืจืก ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืงื ื•ื™ืœ ืžื™ื˜ ื“ื™ Kubernetes API.
  2. ืึทื ืึทืœื™ืกื™ืก. ื’ืขืคื™ื ื˜ ื“ื™ืคืขืจืึทื ืกื™ื– ืฆื•ื•ื™ืฉืŸ ื“ืขื ืงืจืึทื ื˜ ืกื˜ืึทื˜ื•ืก ืื•ืŸ ื“ื™ ื’ืขื‘ืขื˜ืŸ ืื™ื™ื ืขืจ (ื“ื™ืคื™ื™ื ื“ ื“ื•ืจืš ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ).
  3. ืงืึทืžืฃ. ืกืึทืœื•ื•ื– ื“ื™ื˜ืขืงื˜ืึทื“ ื“ื™ืคืขืจืึทื ืกื™ื– ื ื™ืฆืŸ ื“ื™ ืขื˜ืง ืื•ืŸ / ืึธื“ืขืจ ืงื•ื‘ืขืจื ืขื˜ืขืก ืกืขืจื•ื•ื™ืก ืึทืคึผื™ืก.

ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืคึฟืึทืจ Kubernetes: ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ืกื˜ืึทื˜ืขืคื•ืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–

ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ื“ืขื ืœืึธื’ื™ืง, ืคืึทื ื’ืงืฉืึทื ื– ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืื™ืŸ ื“ื™ ืึธืคึผืขืจืึทื˜ืึธืจ ืฉืึทืคึฟืŸ / ืฆืขืฉื˜ืขืจืŸ (ืงืจื™ื™ื™ื˜ื™ื ื’ ืื•ืŸ ื•ื™ืกืžืขืงืŸ ืขื˜ืง ืงื ื•ื™ืœ ืžื™ื˜ื’ืœื™ื“ืขืจ) ืื•ืŸ ืจืขืกื™ื–ืข (ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืงื ื•ื™ืœ ืžื™ื˜ื’ืœื™ื“ืขืจ). ื“ื™ ืงืขืจืขืงื˜ื ืึทืก ืคื•ืŸ ื–ื™ื™ึทืŸ ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ื’ืขื•ื•ืขืŸ ื•ื•ืขืจืึทืคื™ื™ื“ ืžื™ื˜ ืึท ื ื•ืฆืŸ ื‘ืืฉืืคืŸ ืื™ืŸ ื“ื™ ื’ืขืฉื˜ืืœื˜ ืคื•ืŸ Chaos Monkey ืคึฟื•ืŸ Netflix, ื™.ืข. ืžืึธืจื“ ืขื˜ืง ืคึผืึธื“ืก ืจืึทื ื“ืึทืžืœื™.

ืคึฟืึทืจ ืคื•ืœ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ืขื˜ืง, ื“ืขืจ ืึธืคึผืขืจืึทื˜ืึธืจ ื’ื™ื˜ ื ืึธืš ืคึฟืขื™ึดืงื™ื™ื˜ืŸ: ื‘ืึทืงืงื•ืคึผ (ืึธื˜ืึทืžืึทื˜ื™ืง ืื•ืŸ ื•ืžื–ืขื™ืง ืคึฟืึทืจ ื ื™ืฆืขืจืก ืฉืึทืคื•ื ื’ ืคื•ืŸ ื‘ืึทืงืึทืคึผ ืงืืคื™ืขืก - ืื™ืŸ ื“ื™ ืงืึธื ืคื™ื’ ืื™ื– ื’ืขื ื•ื’ ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื•ื•ื™ ืึธืคื˜ ืฆื• ืžืึทื›ืŸ ื–ื™ื™ ืื•ืŸ ื•ื•ื™ ืคื™ืœืข ืฆื• ืงืจืึธื - ืื•ืŸ ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืจืขืกื˜ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ืึทื˜ืŸ ืคื•ืŸ ื–ื™ื™) ืื•ืŸ ื•ืคึผื’ืจืึทื“ืข (ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ืขื˜ืง ื™ื ืกื˜ืึทืœื™ื™ืฉืึทื ื– ืึธืŸ ื“ืึทื•ื ื˜ื™ื™ื).

ื•ื•ื™ ืึทื–ื•ื™ ืึทืจื‘ืขื˜ ืžื™ื˜ ืึทืŸ ืึธืคึผืขืจืึทื˜ืึธืจ?

$ kubectl create -f https://coreos.com/operators/etcd/latest/deployment.yaml
$ kubectl create -f https://coreos.com/operators/etcd/latest/example-etcd-cluster.yaml
$ kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
etcd-cluster-0000                1/1       Running   0          23s
etcd-cluster-0001                1/1       Running   0          16s
etcd-cluster-0002                1/1       Running   0          8s
etcd-cluster-backup-tool-rhygq   1/1       Running   0          18s

ื“ืขืจ ืื™ืฆื˜ื™ืงืขืจ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ืขื˜ืง ืึธืคึผืขืจืึทื˜ืึธืจ ืื™ื– ืึท ื‘ื™ืชื ื•ื•ืขืจืกื™ืข, ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– Kubernetes 1.5.3+ ืื•ืŸ etcd 3.0+ ืฆื• ืœื•ื™ืคืŸ. ืžืงื•ืจ ืงืึธื“ ืื•ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื™ื ืกื˜ืจืึทืงืฉืึทื ื– ืคึฟืึทืจ ื ื•ืฆืŸ) ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ืื™ืŸ ื’ื™ื˜ื”ื•ื‘.

ืืŸ ืื ื“ืขืจ ื‘ื™ื™ืฉืคึผื™ืœ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ CoreOS ืื™ื– ื‘ืืฉืืคืŸ - ืคึผืจืึธืžืขื˜ื”ืขื•ืก ืึธืคึผืขืจืึทื˜ืึธืจ, ืึธื‘ืขืจ ืขืก ืื™ื– ื ืึธืš ืื™ืŸ ืึทืœืฃ ื•ื•ืขืจืกื™ืข (ื ื™ื˜ ืึทืœืข ืคึผืœืึทื ื ืขื“ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“).

ืกื˜ืึทื˜ื•ืก ืื•ืŸ ืคึผืจืึทืกืคึผืขืงืก

5 ื—ื“ืฉื™ื ื”ืึธื‘ืŸ ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ื–ื™ื ื˜ ื“ื™ ืžืขืœื“ืŸ ืคื•ืŸ ืงื•ื‘ืขืจื ืขื˜ืขืก ืึธืคึผืขืจื™ื™ื˜ืขืจื–. ืขืก ื–ืขื ืขืŸ ื ืึธืš ื‘ืœื•ื™ื– ืฆื•ื•ื™ื™ ื™ืžืคึผืœืึทืžืึทื ืฅ ื‘ื ื™ืžืฆื ืื™ืŸ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ืงืึธืจืขืึธืก ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ (ืคึฟืึทืจ ืขื˜ืง ืื•ืŸ ืคึผืจืึธืžืขื˜ื”ืขื•ืก). ื‘ื™ื™ื“ืข ื”ืึธื‘ืŸ ื ืึธืš ื ื™ืฉื˜ ื“ืขืจื’ืจื™ื™ื›ื˜ ื–ื™ื™ืขืจ ืกื˜ืึทื‘ื™ืœ ื•ื•ืขืจืกื™ืขืก, ืึธื‘ืขืจ ืงืึทืžื™ืฅ ื–ืขื ืขืŸ ื‘ืืžืขืจืงื˜ ืื•ื™ืฃ ืึท ื˜ืขื’ืœืขืš ื™ืงืขืจ.

ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื•ื•ื™ื™ื–ืŸ ืึท "ืฆื•ืงื•ื ืคื˜ ืื™ืŸ ื•ื•ืึธืก ื™ื•ื–ืขืจื– ื™ื ืกื˜ืึทืœื™ืจืŸ Postgres ืึธืคึผืขืจื™ื™ื˜ืขืจื–, ืงืึทืกืึทื ื“ืจืึท ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืึธื“ืขืจ ืจืขื“ื™ืก ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืื•ื™ืฃ ื–ื™ื™ืขืจ ืงื•ื‘ืขืจื ืขื˜ืขืก ืงืœืึทืกื˜ืขืจื– ืื•ืŸ ืึทืจื‘ืขื˜ ืžื™ื˜ ื“ื™ ืกืงืึทืœืึทื‘ืœืข ืขื ื˜ื™ื˜ื™ื– ืคื•ืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ื™ ืœื™ื™ื›ื˜ ื•ื•ื™ ื“ื™ืคึผืœื™ื™ื™ื ื’ ืจืขืคึผืœืึทืงืึทื– ืคื•ืŸ ืกื˜ื™ื™ื˜ืœืขืกืก ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ื– ื”ื™ื™ึทื ื˜." ืขืจืฉื˜ืขืจ ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืคื•ืŸ ื“ืจื™ื˜ ืคึผืึทืจื˜ื™ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื˜ืึทืงืข ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื“ืขืจืฉื™ื™ึทื ืขืŸ:

ื‘ื™ื™ ื“ืขืจ ื’ืจืขืกื˜ืขืจ ืื™ื™ืจืืคืขื™ืฉืขืจ ืคืจื™ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื–ื™ืฆื•ื ื’ FOSDEM, ื•ื•ืึธืก ืื™ื– ืคืืจื’ืขืงื•ืžืขืŸ ืื™ืŸ ืคืขื‘ืจื•ืืจ 2017 ืื™ืŸ ื‘ืจื™ืกืœ, Josh Wood ืคื•ืŸ CoreOS ืžื•ื“ื™ืข ืึธืคึผืขืจื™ื™ื˜ืขืจื– ืื™ืŸ ื‘ืึทืจื™ื›ื˜ (ืึท ื•ื•ื™ื“ืขื ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ื‘ื™ื™ ื“ื™ ืœื™ื ืง!), ื•ื•ืึธืก ื–ืึธืœ ื‘ื™ื™ืฉื˜ื™ื™ืขืจืŸ ืฆื• ื“ืขืจ ื•ื•ื•ึผืงืก ืคื•ืŸ ืคึผืึธืคึผื•ืœืึทืจื™ื˜ืขื˜ ืคื•ืŸ ื“ืขื ื‘ืึทื’ืจื™ืฃ ืื™ืŸ ื“ื™ ื‘ืจื™ื™ื˜ ืขืคึฟืŸ ืžืงื•ืจ ืงื”ืœ.

ืคึผืก ื“ืึทื ืงืขืŸ ืคึฟืึทืจ ื“ื™ื™ืŸ ืื™ื ื˜ืขืจืขืก ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ! ืึทื‘ืึธื ื™ืจืŸ ืฆื• ืื•ื ื“ื–ืขืจ ื›ืึทื‘, ืึทื–ื•ื™ ื ื™ืฉื˜ ืฆื• ืคืึทืจืคื™ืจืŸ ื ื™ื™ึทืข ืžืึทื˜ืขืจื™ืึทืœืก ืื•ืŸ ืจืขืกืึทืคึผื™ื– ืื•ื™ืฃ DevOps ืื•ืŸ GNU/Linux ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทืฆื™ืข - ืžื™ืจ ื•ื•ืขืœืŸ ืึทืจื•ื™ืกื’ืขื‘ืŸ ื–ื™ื™ ืงืขืกื™ื™ื“ืขืจ!

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’