Cách triển khai ứng dụng Node.js Resilient trên Kubernetes từ đầu

Băng hình

Về cuộc nói chuyện

Bạn có thể đã nghe thấy tiếng vang xung quanh Kubernetes và nhận thấy rằng nhiều công ty đã nhanh chóng áp dụng nó. Do nhiều thành phần và hệ sinh thái rộng lớn, nó có thể khá khó hiểu khi tìm thấy con đường bắt đầu học nó.

Trong phiên này, bạn sẽ tìm hiểu những điều cơ bản của container và Kubernetes. Từng bước, chúng tôi sẽ trải qua toàn bộ quá trình đóng gói ứng dụng Node.js vào hình ảnh container docker và sau đó triển khai nó trên Kubernetes. Chúng tôi sẽ chứng minh quy mô cho nhiều bản sao để có hiệu suất tốt hơn. Kết quả cuối cùng sẽ là triển khai Node.js có thể phục hồi và có thể mở rộng.

Bạn sẽ rời khỏi phiên này với kiến ​​thức đầy đủ về container hóa, cơ bản về Kubernetes và khả năng triển khai các ứng dụng Node.js có sẵn, hiệu quả cao và có thể mở rộng trên Kubernetes trên Kubernetes.

Sử dụng miễn phí này Để thử Kubernetes trên DigitalOcean miễn phí!

Về người trình bày

Kamal Nasser là một người ủng hộ nhà phát triển tại DigitalOcean. Nếu không tự động hóa và chơi với các phần mềm và công nghệ hiện đại, bạn có thể sẽ tìm thấy anh ta đã biến bỏ thư pháp thế kỷ 17. Bạn có thể tìm thấy Kamal trên Twitter tại @ Kamaln7 hoặc trên GitHub tại @ Kamaln7.

Tài nguyên

Xem các slide cho bài nói chuyện này hoặc xem bản ghi trên YouTube.

Bảng điểm của các lệnh và bảng kê khai được sử dụng

Hãy chắc chắn làm theo cùng với việc ghi âm để giải thích và thay thế kamaln7 với tên người dùng dockerhub của riêng bạn.

Ứng dụng Node.

  1. Tạo gói nút trống: NPM init -y
  2. Cài đặt Express như một sự phụ thuộc: NPM Cài đặt Express
  3. index.js

    const express = yêu cầu ['express'] const os = yêu cầu ['os'] app = express [] app.get ['/', [req, res] => { res.send [`hi từ $ {os.hostname []}!`] }] Cổng const = 3000 app.listen [cổng, [] => Console.log [đang nghe trên cổng $ {cổng} `]]

Docker.

  1. Dockerfile.

    Từ nút: 13-Alpine WorkDir / App. Sao chép gói.json gói-lock.json ./ Chạy cài đặt NPM - Phát triển Sao chép. . Lộ 3000. Cmd node index.js.

  2. Xây dựng hình ảnh: Docker Build -t Kamaln7 / NODE-HELLO-APP. .docker build -t kamaln7/node-hello-app .

  3. Chỉnh sửa index.js và thay thế từ hi với xin chào . index.js and replace the word Hi with Hello.

  4. Xây dựng lại hình ảnh và thông báo Docker sử dụng lại các lớp trước: Docker Build -T Kamaln7 / node-hello-app. docker build -t kamaln7/node-hello-app .

  5. Chạy một thùng chứa để kiểm tra nó: Docker Run --rm -d -p 3000: 3000 Kamaln7 / Node-Hello-App docker run --rm -d -p 3000:3000 kamaln7/node-hello-app

  6. Nhìn vào các thùng chứa đang chạy: Docker PS

  7. Dừng container: Docker dừng container_id

  8. Đẩy hình ảnh lên DockerHub: Docker Push Kamaln7 / NODE-HELLO-APP .docker push kamaln7/node-hello-app

Kubernetes.

  1. Nhận các nút công nhân: Kubectl Get Nodes
  2. Tạo triển khai: Kubectl Tạo triển khai --Image Kamaln7 / NODE-HELLO-APP -App .kubectl create deployment --image kamaln7/node-hello-app node-app
  3. Tỷ lệ tối đa 3 bản sao: Node triển khai quy mô Kubectl-Ứng dụng --Replicas 3
  4. Tiếp xúc triển khai như một bản sao NODEPORE: Kubectl phơi bày nút Triển khai-Ứng dụng --Type = NoDeport --port 3000
  5. Nhìn vào dịch vụ mới được tạo [và cổng được chỉ định]: Kubectl Nhận dịch vụ
  6. Lấy IP công cộng của một trong những nút công nhân: Kubectl Get Nodes -o Wide
  7. Duyệt đến IP: Cổng Để kiểm tra dịch vụ
  8. Chỉnh sửa dịch vụ: Kubectl Chỉnh sửa dịch vụ Node-ứng dụng
    1. Thay thế Cổng: 3000 Với Cổng: 80
    2. Thay thế Loại: Nodeport Với Loại: LoadBalancer
  9. Xác minh rằng dịch vụ đã được cập nhật: Kubectl Nhận dịch vụ
  10. Chạy lệnh trên mỗi vài giây cho đến khi bạn nhận được địa chỉ IP bên ngoài của bộ cân bằng tải
  11. Duyệt đến IP của bộ cân bằng tải

Video liên quan

Chủ Đề