Điểm:1

nhóm kubernetes chạy trên công cụ tính toán của google không thể truy cập dịch vụ siêu dữ liệu

lá cờ vn

Tôi đang cố chạy google cloud python sdk từ bên trong nhóm k8, chạy trên công cụ tính toán của google. Có một tài khoản dịch vụ được đính kèm với VM, cho phép nó truy cập vào trình quản lý bí mật. Tôi có thể truy cập trình quản lý bí mật từ máy chủ, tuy nhiên khi chạy python sdk từ k8 pod phàn nàn về việc không thể truy cập dịch vụ siêu dữ liệu

>>> secret_id = 'unskript_test'
>>> tên = client.secret_path(project_id, secret_id)
>>> phản hồi = client.get_secret(request={"name": name})
Traceback (cuộc gọi gần đây nhất cuối cùng):
  Tệp "/opt/conda/lib/python3.7/site-packages/google/api_core/grpc_helpers.py", dòng 67, trong error_remapped_callable
    trả lại callable_(*args, **kwargs)
  Tệp "/opt/conda/lib/python3.7/site-packages/grpc/_channel.py", dòng 946, trong __call__
    return _end_unary_response_blocking(trạng thái, cuộc gọi, Sai, Không có)
  Tệp "/opt/conda/lib/python3.7/site-packages/grpc/_channel.py", dòng 849, trong _end_unary_response_blocking
    tăng _InactiveRpcError(trạng thái)
grpc._channel._InactiveRpcError: <_InactiveRpcError của RPC đã kết thúc bằng:
    status = StatusCode.UNAVAILABLE
    chi tiết = "Lỗi lấy siêu dữ liệu từ plugin: Không thể truy xuất http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true từ dịch vụ siêu dữ liệu của Google Compute Engine. Siêu dữ liệu của Compute Engine máy chủ không có sẵn"
    debug_error_string = "{"created":"@1630634901.103779641","description":"Lỗi lấy siêu dữ liệu từ plugin: Không thể truy xuất http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default /?recursive=true từ dịch vụ siêu dữ liệu Google Compute Engine. Máy chủ siêu dữ liệu của Compute Engine không khả dụng","file":"src/core/lib/security/credentials/plugin/plugin_credentials.cc","file_line":90,"grpc_status":14}"
>

metadata.google.internal không được giải quyết từ nhóm k8

jovyan@jovyan-25ca6c8c-157d-49e5-9366-f9d57fcb7a9f:~$ wget http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
--2021-09-03 02:11:19-- http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
Giải quyết metadata.google.internal (metadata.google.internal)... không thành công: Không xác định được tên hoặc dịch vụ.
wget: không thể giải quyết địa chỉ máy chủ âmetadata.google.internalâ

Tuy nhiên, máy chủ có thể giải quyết nó

ubuntu@gcp-test-proxy:~$ wget http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
--2021-09-03 02:11:27-- http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/?recursive=true
Đang giải quyết siêu dữ liệu.google.internal (metadata.google.internal)... 169.254.169.254
Đang kết nối với metadata.google.internal (metadata.google.internal)|169.254.169.254|:80... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi... 403 Bị cấm
2021-09-03 02:11:27 LỖI 403: Bị cấm.

Làm cách nào tôi có thể làm cho nhóm giải quyết metadata.google.internal?

Bakul Mitra avatar
lá cờ cn
Xin chào @Amit. Vấn đề của bạn đã được giải quyết chưa? Nếu có, bạn có thể đề cập đến các bước bạn đã thực hiện để giải quyết vấn đề không. Hoặc nếu câu trả lời đã cho giúp bạn có thể chấp nhận hoặc nâng cấp nó không..
Điểm:0
lá cờ jp

Điều này là do Kubernetes pod không thể giải quyết metadata.google.internal Tên DNS thành IP thích hợp. Máy chủ của bạn có thể có một mục trong /etc/hosts mã hóa miền đó thành IP: 169.254.169.254.

Bạn sẽ có thể sao chép nó trong Pod của mình bằng cách sửa đổi nó /etc/hosts tập tin.

Chỉ cần nhớ rằng điều này sẽ chỉ hoạt động trên máy ảo chạy trên GCP. Bên ngoài, địa chỉ IP 169.254.169.254 chỉ là một địa chỉ IP khác không có ý nghĩa gì đặc biệt.

CHỈNH SỬA: Vừa kiểm tra/etc/hosts trên một trong các máy ảo GCP của tôi và đây là những gì tôi tìm thấy:

$ mèo /etc/hosts
127.0.0.1 máy chủ cục bộ

# Các dòng sau là mong muốn cho các máy chủ có khả năng IPv6
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhost
169.254.169.254 siêu dữ liệu.google.siêu dữ liệu nội bộ

Vì vậy, hãy thử sao chép dòng cuối cùng đó vào nhóm của bạn /etc/hosts.

Amit avatar
lá cờ vn
Cảm ơn @maciek. Vấn đề là do microk8 không sao chép mục nhập máy chủ, v.v. vào nhóm. Khi chúng tôi chuyển đến k3, nó đã được giải quyết

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.