Deployment and orchestration (2024)

{ switch(e.key) { case 'k': if (e.metaKey || e.ctrlKey) { e.preventDefault(); $el.focus(); open = true; } break; } }" class="flex-grow px-2 bg-transparent text-white placeholder:text-white outline-none" placeholder=Search tabindex=0>

K

Start typing to search…

`; return; } const search = await pagefind.debouncedSearch(query); if (search === null) { return; } else { const resultsLength = search.results.length const resultsData = await Promise.all(search.results.slice(0, 5).map(r => r.data())); const results = resultsData.map((item, index) => ({...item, index: index + 1})); if (query) { searchBarResults.classList.remove("hidden"); } else { searchBarResults.classList.add("hidden"); } let resultsHTML = `

${resultsLength} results

`; resultsHTML += results .map((item) => { return `

${item.meta.title}

…${item.excerpt}…

`; }) .join(""); if (resultsLength > 5) { resultsHTML += `

Show all results

`; } searchBarResults.innerHTML = resultsHTML; } } searchBarInput.addEventListener("input", search); if (window.heap !== undefined) { searchBarResults.addEventListener('click', function (event) { if (event.target.tagName === 'A' && event.target.closest('.link')) { const searchQuery = event.target.getAttribute('data-query'); const resultIndex = event.target.getAttribute('data-index'); const url = new URL(event.target.href); const properties = { docs_search_target_path: url.pathname, docs_search_target_title: event.target.textContent, docs_search_query_text: searchQuery, docs_search_target_index: resultIndex, docs_search_source_path: window.location.pathname, docs_search_source_title: document.title, }; heap.track("Docs - Search - Click - Result Link", properties); } }); } });

Table of contents

Containerization provides an opportunity to move and scale applications toclouds and data centers. Containers effectively guarantee that those applications run thesame way anywhere, allowing you to quickly and easily take advantage of allthese environments. Additionally, as you scale your applications up, you need sometooling to help automate the maintenance of those applications, enable thereplacement of failed containers automatically, and manage the roll-out ofupdates and reconfigurations of those containers during their lifecycle.

Tools to manage, scale, and maintain containerized applications are calledorchestrators. Two of the most popular orchestration tools are Kubernetes andDocker Swarm. Docker Desktop provides development environments for both of theseorchestrators.

The advanced modules teach you how to:

  1. Set up and use a Kubernetes environment on your development machine
  2. Set up and use a Swarm environment on your development machine

Docker Desktop sets up Kubernetes for you quickly and easily. Follow the setup and validation instructions appropriate for your operating system:

Mac

  1. From the Docker Dashboard, navigate to Settings, and select the Kubernetes tab.

  2. Select the checkbox labeled Enable Kubernetes, and select Apply & Restart. Docker Desktop automatically sets up Kubernetes for you. You'll know that Kubernetes has been successfully enabled when you see a green light beside 'Kubernetes running' in Settings.

  3. To confirm that Kubernetes is up and running, create a text file called pod.yaml with the following content:

    apiVersion: v1kind: Podmetadata: name: demospec: containers: - name: testpod image: alpine:latest command: ["ping", "8.8.8.8"]

    This describes a pod with a single container, isolating a simple ping to 8.8.8.8.

  4. In a terminal, navigate to where you created pod.yaml and create your pod:

    $ kubectl apply -f pod.yaml
  5. Check that your pod is up and running:

    $ kubectl get pods

    You should see something like:

    NAME READY STATUS RESTARTS AGEdemo 1/1 Running 0 4s
  6. Check that you get the logs you'd expect for a ping process:

    $ kubectl logs demo

    You should see the output of a healthy ping process:

    PING 8.8.8.8 (8.8.8.8): 56 data bytes64 bytes from 8.8.8.8: seq=0 ttl=37 time=21.393 ms64 bytes from 8.8.8.8: seq=1 ttl=37 time=15.320 ms64 bytes from 8.8.8.8: seq=2 ttl=37 time=11.111 ms...
  7. Finally, tear down your test pod:

    $ kubectl delete -f pod.yaml

Windows

  1. From the Docker Dashboard, navigate to Settings, and select the Kubernetes tab.

  2. Select the checkbox labeled Enable Kubernetes, and select Apply & Restart. Docker Desktop automatically sets up Kubernetes for you. You'll know that Kubernetes has been successfully enabled when you see a green light beside 'Kubernetes running' in the Settings menu.

  3. To confirm that Kubernetes is up and running, create a text file called pod.yaml with the following content:

    apiVersion: v1kind: Podmetadata: name: demospec: containers: - name: testpod image: alpine:latest command: ["ping", "8.8.8.8"]

    This describes a pod with a single container, isolating a simple ping to 8.8.8.8.

  4. In PowerShell, navigate to where you created pod.yaml and create your pod:

    $ kubectl apply -f pod.yaml
  5. Check that your pod is up and running:

    $ kubectl get pods

    You should see something like:

    NAME READY STATUS RESTARTS AGEdemo 1/1 Running 0 4s
  6. Check that you get the logs you'd expect for a ping process:

    $ kubectl logs demo

    You should see the output of a healthy ping process:

    PING 8.8.8.8 (8.8.8.8): 56 data bytes64 bytes from 8.8.8.8: seq=0 ttl=37 time=21.393 ms64 bytes from 8.8.8.8: seq=1 ttl=37 time=15.320 ms64 bytes from 8.8.8.8: seq=2 ttl=37 time=11.111 ms...
  7. Finally, tear down your test pod:

    $ kubectl delete -f pod.yaml

Enable Docker Swarm

Docker Desktop runs primarily on Docker Engine, which has everything you need to run a Swarm built in. Follow the setup and validation instructions appropriate for your operating system:

Mac

  1. Open a terminal, and initialize Docker Swarm mode:

    $ docker swarm init

    If all goes well, you should see a message similar to the following:

    Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager.To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  2. Run a simple Docker service that uses an alpine-based filesystem, and isolates a ping to 8.8.8.8:

    $ docker service create --name demo alpine:latest ping 8.8.8.8
  3. Check that your service created one running container:

    $ docker service ps demo

    You should see something like:

    ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS463j2s3y4b5o demo.1 alpine:latest docker-desktop Running Running 8 seconds ago
  4. Check that you get the logs you'd expect for a ping process:

    $ docker service logs demo

    You should see the output of a healthy ping process:

    demo.1.463j2s3y4b5o@docker-desktop | PING 8.8.8.8 (8.8.8.8): 56 data bytesdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 msdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 msdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms...
  5. Finally, tear down your test service:

    $ docker service rm demo

Windows

  1. Open a PowerShell, and initialize Docker Swarm mode:

    $ docker swarm init

    If all goes well, you should see a message similar to the following:

    Swarm initialized: current node (tjjggogqpnpj2phbfbz8jd5oq) is now a manager.To add a worker to this swarm, run the following command: docker swarm join --token SWMTKN-1-3e0hh0jd5t4yjg209f4g5qpowbsczfahv2dea9a1ay2l8787cf-2h4ly330d0j917ocvzw30j5x9 192.168.65.3:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
  2. Run a simple Docker service that uses an alpine-based filesystem, and isolates a ping to 8.8.8.8:

    $ docker service create --name demo alpine:latest ping 8.8.8.8
  3. Check that your service created one running container:

    $ docker service ps demo

    You should see something like:

    ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS463j2s3y4b5o demo.1 alpine:latest docker-desktop Running Running 8 seconds ago
  4. Check that you get the logs you'd expect for a ping process:

    $ docker service logs demo

    You should see the output of a healthy ping process:

    demo.1.463j2s3y4b5o@docker-desktop | PING 8.8.8.8 (8.8.8.8): 56 data bytesdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=0 ttl=37 time=13.005 msdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=1 ttl=37 time=13.847 msdemo.1.463j2s3y4b5o@docker-desktop | 64 bytes from 8.8.8.8: seq=2 ttl=37 time=41.296 ms...
  5. Finally, tear down your test service:

    $ docker service rm demo

At this point, you've confirmed that you can run simple containerized workloads in Kubernetes and Swarm. The next step is to write a YAML file that describes how to run and manage these containers.

  • Deploy to Kubernetes
  • Deploy to Swarm

CLI references

Further documentation for all CLI commands used in this article are available here:

Deployment and orchestration (2024)
Top Articles
15 Best Books on Options Trading - Expert Recommendations
Centralized vs. decentralized records centers: pros and cons
Chs.mywork
Kmart near me - Perth, WA
The Largest Banks - ​​How to Transfer Money With Only Card Number and CVV (2024)
Zabor Funeral Home Inc
Toyota Campers For Sale Craigslist
Kobold Beast Tribe Guide and Rewards
Tv Guide Bay Area No Cable
Watch Mashle 2nd Season Anime Free on Gogoanime
Naturalization Ceremonies Can I Pick Up Citizenship Certificate Before Ceremony
Tanger Outlets Sevierville Directory Map
Babyrainbow Private
Chris Hipkins Fue Juramentado Como El Nuevo Primer Ministro De...
Craigslist Malone New York
9044906381
Skyward Login Jennings County
Ally Joann
Where Is The Nearest Popeyes
How to Watch the Fifty Shades Trilogy and Rom-Coms
Acts 16 Nkjv
Babbychula
Form F-1 - Registration statement for certain foreign private issuers
Teekay Vop
E32 Ultipro Desktop Version
پنل کاربری سایت همسریابی هلو
January 8 Jesus Calling
New Stores Coming To Canton Ohio 2022
Netspend Ssi Deposit Dates For 2022 November
Sacramento Craigslist Cars And Trucks - By Owner
Elanco Rebates.com 2022
Gridwords Factoring 1 Answers Pdf
Grays Anatomy Wiki
Current Time In Maryland
Calculator Souo
Ma Scratch Tickets Codes
A Man Called Otto Showtimes Near Amc Muncie 12
Pitchfork's Top 200 of the 2010s: 50-1 (clips)
Academic important dates - University of Victoria
Flags Half Staff Today Wisconsin
Yogu Cheshire
Nsav Investorshub
R/Moissanite
Entry of the Globbots - 20th Century Electro​-​Synthesis, Avant Garde & Experimental Music 02;31,​07 - Volume II, by Various
Pa Legion Baseball
Alba Baptista Bikini, Ethnicity, Marriage, Wedding, Father, Shower, Nazi
Dying Light Mother's Day Roof
Charlotte North Carolina Craigslist Pets
Immobiliare di Felice| Appartamento | Appartamento in vendita Porto San
Hcs Smartfind
Suzanne Olsen Swift River
Latest Posts
Article information

Author: Tuan Roob DDS

Last Updated:

Views: 6183

Rating: 4.1 / 5 (42 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Tuan Roob DDS

Birthday: 1999-11-20

Address: Suite 592 642 Pfannerstill Island, South Keila, LA 74970-3076

Phone: +9617721773649

Job: Marketing Producer

Hobby: Skydiving, Flag Football, Knitting, Running, Lego building, Hunting, Juggling

Introduction: My name is Tuan Roob DDS, I am a friendly, good, energetic, faithful, fantastic, gentle, enchanting person who loves writing and wants to share my knowledge and understanding with you.