‫Bây giờ chúng ta đã nói về bốn
‫loại dịch vụ Kubernetes, hãy tạo một số từ dòng lệnh.
‫Đầu tiên, chúng ta sẽ cần tạo một Triển khai mà chúng ta có thể
‫trỏ các dịch vụ này tới. Sau đó, chúng tôi sẽ tạo
‫các loại dịch vụ khác nhau để chỉ vào Triển khai này.
‫Trong bản demo này, chúng ta sẽ tạo hai
‫shell khác nhau hoặc các cửa sổ khác nhau, vào môi trường
‫Kubernetes của bạn để chúng ta có thể xem điều gì đang xảy ra với
‫lệnh watch trong khi chúng ta đang thực hiện với các lệnh khác.
‫Được rồi. Trong trường hợp của tôi, tôi có hai cửa sổ,
‫một cửa sổ nằm trên cửa sổ kia. Nó không thực sự quan trọng bạn làm điều đó như thế nào.
‫Nó chỉ để bạn dễ dàng sử dụng hơn khi xem tôi đang làm gì.
‫Chúng tôi sẽ sử dụng kubectl get pods.
‫Chúng tôi sẽ thêm một -w.
‫Đây giống như một lệnh đồng hồ, nơi nó sẽ tiếp tục chạy và hiển
‫thị cho chúng ta theo thời gian khi mọi thứ thay đổi.
‫Bạn sẽ nhận thấy rằng đây là một tùy chọn trên nhiều
‫lệnh kubectl khác nhau. Chúng tôi sẽ làm điều đó ở đây chỉ để
‫xem những gì đang xảy ra trong nền.
‫nhận nhóm với -w.
‫Sau đó, trong cửa sổ khác của tôi, chúng tôi sẽ
‫tạo một Triển khai.
‫tạo triển khai. Chúng tôi sẽ gọi đây là httpenv.
‫Điều này đang sử dụng là một máy chủ Web HTTP
‫rất đơn giản, về cơ bản khi bạn nhấn nó bằng cURL,
‫nó chỉ trả lại tất cả các biến môi trường mà
‫nó nhận được tại dòng lệnh.
‫Đó là một cách rất đơn giản, thô sơ để chúng tôi chỉ
‫xác nhận rằng nó đang hoạt động mà còn để nhận lại các giá trị
‫thú vị như tên của nhóm.
‫Những thứ như thế.
‫Bây giờ chúng tôi đã tạo điều đó, bạn sẽ thấy ở
‫trên cùng rằng nó đang tạo các vùng chứa.
‫Hãy coi nó giống như một nhật ký mà mỗi khi một thứ gì đó thay đổi
‫trạng thái, hoặc trạng thái thay đổi, hoặc những thứ tương tự như vậy,
‫bạn sẽ thấy nó như một dòng mới in xuống trang giống
‫như một tệp nhật ký.
‫Bạn sẽ thấy trong dòng cuối cùng đó, nó bây giờ cho thấy rằng chúng ta
‫có nhóm đó đang chạy ở trạng thái đang chạy ở đó.
‫Hãy tạo thêm nhiều nhóm trong số các nhóm này để chúng tôi
‫có thể có nhiều hơn một trong những bộ chứa này chạy
‫sau dịch vụ của chúng tôi mà chúng tôi sẽ tạo trong giây lát.
‫Lệnh scale rất hữu ích với một Deployment vì nó cho phép
‫chúng ta thay đổi số lượng bản sao chỉ trong
‫một lệnh thân thiện. Tất nhiên, với mọi thứ trong
‫Kubernetes, có nhiều cách để thực hiện việc này, nhưng đây là cách
‫dễ nhất trong tình huống của chúng tôi ở đây.
‫Được rồi. Bây giờ bạn sẽ thấy rằng nó
‫đã tạo thêm bốn nhóm và nó hiển thị những nhóm ở đó đang chạy.
‫Bây giờ, chúng tôi sẽ tạo ra dịch vụ đó.
‫Để làm được điều đó, chúng tôi sử dụng lệnh Exp.
‫Trong trường hợp này, chúng tôi đang cho nó biết Triển khai nào sẽ
‫hiển thị và cổng mà Triển khai đó đang lắng nghe.
‫Bạn sẽ thấy rằng điều này không thay đổi bất kỳ nhóm nào vì điều
‫này đang tạo ra một tính năng bổ sung không liên quan
‫đến chính các nhóm đó.
‫Điều này thực sự sẽ tạo một cụm IP theo mặc định.
‫Đó là loại dịch vụ IP cụm.
‫Nó sẽ tạo ra điều đó ở phía trước
‫của Triển khai. Hãy kiểm tra dịch vụ mà chúng tôi vừa tạo.
‫Bạn sẽ thấy hai ở đây.
‫Điểm đầu tiên sẽ là điểm cuối Kubernetes.
‫Đó là dành cho API.
‫Sau đó, bạn sẽ thấy dịch vụ của chúng tôi mà chúng tôi vừa tạo
‫và loại của nó là cụm IP. Hãy nhớ rằng IP cụm chỉ có thể
‫sử dụng bên trong cụm để các nút và các nhóm khác có thể
‫truy cập vào nó.
‫Địa chỉ IP này chúng ta có thể truy cập, nhưng nó phụ thuộc vào vị trí của chúng ta và
‫chúng ta có thể truy cập được hay không.
‫Vì địa chỉ IP đó chỉ có thể
‫truy cập được từ chính các nút hoặc các nhóm khác
‫bên trong cụm.
‫Khi bạn đang sử dụng Docker Desktop, nếu bạn nhớ rằng tính năng
‫này không chạy trên hệ điều hành chủ của Mac và Windows.
‫Về mặt kỹ thuật, điều này đang chạy trong một máy ảo Linux nhỏ.
‫Trong trường hợp này, chúng tôi cần chạy một nhóm
‫khác đang chạy trên cụm đó để chúng tôi
‫có thể CURL nó. Chúng tôi không muốn chạy Triển khai với một tập hợp bản sao.
‫Trong trường hợp này, chúng tôi thực sự chỉ muốn chạy một, một nhóm duy nhất.
‫Cách dễ nhất để làm điều đó là chạy kubectl.
‫Chúng tôi sẽ sử dụng một máy phát điện thay thế.
‫Bạn có thể nhớ điều đó từ lỗi trước đó.
‫Chúng ta sẽ nói một chút về máy phát điện là gì.
‫Có rất nhiều điều xảy ra trong lệnh này, vì vậy
‫hãy chia nhỏ nó. Chạy kubectl mà bạn đã thấy trước đây.
‫Trình tạo là loại mẫu mà chúng ta muốn lệnh
‫chạy sử dụng.
‫Chúng ta sẽ nói thêm một chút về điều đó trong một bài giảng trong tương lai.
‫Chúng tôi chọn mẫu nhóm vì chúng tôi
‫chỉ muốn chạy một nhóm. Chúng tôi không muốn Triển khai đầy đủ với các tập hợp bản
‫sao hoặc bất cứ thứ gì. Chúng tôi sẽ gọi nó là tmp-shell.
‫Bạn sẽ nhận thấy rằng một số tùy chọn này
‫tương tự như chạy docker. Đó là mục đích.
‫Một trong những mục tiêu trong
‫tương lai của lệnh chạy kubectl là hoạt động giống lệnh
‫chạy của docker hơn. Trên thực tế, chúng ta sẽ nói sau về
‫cách cuối cùng nó sẽ hoạt động như thế nào, theo mặc định, chỉ cần
‫tạo một nhóm cho bạn và bạn sẽ không phải sử dụng tùy chọn trình tạo này.
‫Chúng ta sẽ sử dụng --rm ở đây có nghĩa là khi nhóm dừng
‫lại, hãy tiếp tục và xóa nó.
‫-It cung cấp cho chúng ta một trình bao vào nhóm đó
‫khi chúng ta nhấn lệnh enter. Sau đó - hình ảnh cho chúng ta biết
‫chúng ta thích hình ảnh nào hơn.
‫Trong trường hợp này, chúng tôi đang sử dụng hình ảnh chụp màn hình của tôi, đó là một
‫loạt các tiện ích mạng và Linux khác
‫nhau trong đó. Một trong số đó là cURL.
‫Sau đó, với lệnh run, chúng ta có
‫thể thay đổi cmd hoặc thứ sẽ chạy bên
‫trong vùng chứa.
‫Chúng tôi làm điều đó với một không gian - không gian.
‫Điều đó yêu cầu lệnh chạy ngừng xem xét các tùy chọn
‫và bất kỳ thứ gì sau dấu gạch ngang kép đó là lệnh
‫chạy khi tôi thực thi vùng chứa này.
‫Bạn sẽ thấy ở trên cùng rằng nhóm vỏ tạm thời đang hiển thị và
‫bây giờ đó là trạng thái đang chạy và chúng tôi đang ở trong
‫nhóm với lời nhắc bash của chúng tôi.
‫Điều mà chúng ta sẽ nói một
‫chút là tên dịch vụ mà chúng tôi đã tạo sẽ trở
‫thành một phần của tên DNS cho dịch vụ này.
‫Chúng ta có thể sử dụng ... tương tự như những gì chúng tôi vừa
‫làm trong Docker và Swarm, chúng tôi có thể sử dụng tên dịch vụ để lấy nó bằng DNS.
‫Hãy nhớ rằng, nó đang chạy trên Cổng 8888.
‫Khi chúng tôi làm điều đó, chúng tôi nhận được
‫phản hồi mà tôi mong đợi. Tiện ích httpenv này
‫chỉ đơn giản là kết xuất tất cả các biến môi
‫trường trên máy đó nằm bên trong
‫pod duy nhất đó, đúng không. Bạn sẽ thấy tên nhóm là tên máy
‫chủ và các Kubernetes khác được mặc định sẵn.
‫Phương pháp đó sẽ hoạt động với bất
‫kỳ ai trong số bạn, trên bất kỳ cụm nào, miễn là dòng
‫lệnh kubectl của bạn có thể nói chuyện với API, lệnh đó sẽ
‫đưa bạn vào một nhóm mới chạy hình ảnh đó bên trong
‫một trình bao. Thật tuyệt.
‫Tuy nhiên, nếu bạn đang sử dụng Linux, có một cách dễ dàng hơn.
‫Bởi vì cách thức hoạt động của Kubernetes là tất cả các nút
‫và vùng chứa, theo mặc định, có thể nói chuyện
‫với nhau ngay lập tức. Nút mà bạn đang sử dụng,
‫giả sử rằng bạn đang chạy Kubernetes trên máy cục bộ đó, có quyền truy cập
‫vào tất cả các địa chỉ IP riêng tư này.
‫Bạn chỉ có thể cURL IP dịch vụ.
‫Hãy để tôi ra khỏi vỏ và thực hiện
‫lại dịch vụ kubectl.
‫Địa chỉ IP đó cho IP cụm phải có thể phân giải được
‫từ máy chủ của bạn. Máy chủ của bạn sẽ không
‫biết tên DNS giống như chúng tôi đã làm với
‫bên trong nhóm vì nó chỉ nằm trong nhóm.
‫Tuy nhiên, nó sẽ biết địa chỉ IP và có thể truy cập nó.
‫Bạn có thể CURL địa chỉ IP:
‫8888 giống như cách bạn làm cho một máy khác trong
‫mạng của mình. Lý do không
‫hoạt động từ Docker Desktop là vì bạn đang ngồi trên
‫Mac hoặc Windows khi nhập các lệnh đó
‫và chúng không nằm trên cùng một cụm Kubernetes
‫với máy ảo Linux đó đang chạy Kubernetes cho bạn.
‫Được rồi. Hãy tiếp tục và để nội dung
‫đó chạy cho bài giảng tiếp theo, nơi chúng ta sẽ tạo ra nhiều
‫dịch vụ hơn.