7

Tôi có một ứng dụng được container chạy trên máy ảo. Nó bao gồm hai container docker. Đầu tiên chứa máy chủ WebSphere Liberty và ứng dụng web. Thứ hai chứa PostgreSQL và DB của ứng dụng.Cách trình gắn đế gắn với vùng chứa - Google Cloud Platform/Kubernetes

On VM địa phương của tôi, tôi chỉ sử dụng Docker chạy để bắt đầu hai container và sau đó tôi sử dụng Docker đính kèm để đính kèm vào các thùng chứa máy chủ web để tôi có thể chỉnh sửa các file server.xml để chỉ định IP máy chủ công cộng cho DB và sau đó khởi động máy chủ web trong vùng chứa. Ứng dụng chạy tốt.

Bây giờ tôi đang cố gắng triển khai ứng dụng trên Google Cloud Platform.

  1. Tôi thiết lập cấu hình gcloud của mình (dự án, tính toán/vùng).
  2. Tôi đã tạo một cụm.
  3. Tôi đã tạo tệp cấu hình nhóm JSON chỉ định cả hai vùng chứa.
  4. Tôi đã tạo nhóm.
  5. Tôi đã mở tường lửa cho cổng được chỉ định trong tệp cấu hình nhóm.

Tại thời điểm này:

  1. tôi nhìn vào pod (gcloud xem trước vùng chứa kubectl lấy vỏ), nó cho thấy cả hai container đang chạy.
  2. Tôi SSH vào cluster (gcloud tính toán ssh xxx-mycluster-node-1) và vấn đề sudo Docker ps và nó cho thấy container chạy cơ sở dữ liệu, nhưng không phải là thùng chứa máy chủ web. Với sudo docker ps -l Tôi có thể thấy vùng chứa máy chủ web không chạy, nhưng nó vẫn cố gắng bắt đầu và thoát ra sau mỗi 10 giây hoặc lâu hơn.

Vì vậy, bây giờ tôi cần phải cập nhật máy chủ.xml và khởi động máy chủ Liberty, nhưng tôi không biết làm thế nào để làm điều đó trong lĩnh vực này. Tôi có thể đính kèm vào thùng chứa máy chủ web như tôi làm trong máy ảo cục bộ của mình không? Mọi sự trợ giúp sẽ rất được trân trọng. Cảm ơn.

+1

Có vẻ như vùng chứa máy chủ web bị lỗi vòng lặp. Bạn đã xem nhật ký của mình để xem lỗi là gì? Bạn có thể thực hiện điều này từ xa bằng cách sử dụng 'gcloud preview container kubectl log '. –

+0

Khi tôi kiểm tra nhật ký cho vùng chứa DB đang hoạt động, tôi nhận được thông điệp nhật ký mà tôi mong đợi, nhưng khi tôi thử kiểm tra nhật ký cho thùng chứa máy chủ web, tôi chỉ nhận được "Internal Error: container" mycontainer "chưa sẵn sàng. " điều đó không hữu ích. Vấn đề đó đã được đề cập trước đây ở đây: https://github.com/GoogleCloudPlatform/kubernetes/issues/4526 –

+0

@RobertBailey có thể xem nhật ký cho lần cuối cùng (hoặc bất kỳ phiên bản nào trước đó) của vùng chứa vòng lặp bị lỗi không? Khi vùng chứa đang chạy, có thể đính kèm vùng chứa không? –

Trả lời

0

Trên máy riêng của mình, bạn có thể nhìn thấy tai nạn lặp container qua:

Docker ps -a

và sau đó

Docker bản ghi

bạn cũng có thể sử dụng kubectl lấy vỏ -oyaml để nhận thông tin chi tiết như số lần khởi động lại sẽ xác thực rằng vùng chứa đó là vòng lặp cố định.

+0

cũng cần lưu ý điều này để gỡ lỗi các bản ghi 'kubectl {pod_id}' – Ben

19

Có, bạn có thể đính kèm vào vùng chứa trong nhóm. Sử dụng Kubernetes 1.0 ban hành lệnh sau:

Đỗ:

  • kubectl get po để có được tên POD
  • kubectl describe po POD-NAME để tìm tên chứa

Sau đó:

kubectl exec -it POD-NAME -c CONTAINER-NAME bash Giả sử bạn có bash

Nó tương tự như docker exec -it CONTAINER-NAME WHAT_EVER_LOCAL_COMMAND

Các vấn đề liên quan