Điểm:0

Không thể cấp cho các vai trò AWS bổ sung khả năng tương tác với cụm của tôi

lá cờ in

Tôi đang cố gắng tìm hiểu AWS EKS và làm theo Bắt đầu với Amazon EKS â Bảng điều khiển quản lý AWS và AWS CLI hướng dẫn từng bước ngoại trừ khu vực mà tôi đã thay đổi thành chúng tôi-đông-1.

Tôi có thể tạo cụm của mình - cụm của tôi nhưng khi tôi đang cố định cấu hình máy tính của mình là phiên bản EC2 (T2.Micro) để giao tiếp với cụm, tôi nhận được lỗi: Bạn phải đăng nhập vào máy chủ (Trái phép) lỗi. Khi tìm hiểu sâu, tôi thấy rằng vai trò EC2 (ARN - arn:aws:iam::123456789012:role/ec2-admin) cần đảm nhận vai trò đã tạo ra cụm (ARN - arn:aws:iam::123456789012:role /myAmazonEKSClusterRole). Tôi cũng đã thực hiện những sửa đổi này trong định nghĩa vai trò bằng cách sửa đổi Mối quan hệ tin cậy trong myAmazonEKSClusterVai trò nhận arn:aws:sts::123456789012:assumped-role/myAmazonEKSClusterRole/test-session Sau này, tôi có thể thực hiện aws eks lệnh nhưng kubectl mệnh lệnh vẫn đang lảng tránh tôi.

Để thực hiện kubectl lệnh, tôi đang cố gắng làm theo các bước trong Quản lý người dùng hoặc vai trò IAM cho cụm của bạn. Tuy nhiên, họ đang yêu cầu tôi thay đổi aws-auth-cm.yaml configMap mà tôi không thể thực hiện được vì tôi không thể thực thi áp dụng kubectl chỉ huy.

Của tôi kubeconfig tập tin -

phiên bản api: v1
cụm:
- cụm:
    chứng chỉ-cơ quan-dữ liệu: <cert>
  tên: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
bối cảnh:
- bối cảnh:
    cụm: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
    người dùng: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
  tên: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
ngữ cảnh hiện tại: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
loại: Cấu hình
sở thích: {}
người dùng:
- tên: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
  người dùng:
    người điều hành:
      apiVersion: client.authentication.k8s.io/v1alpha1
      lập luận:
      - --khu vực
      - chúng tôi-đông-1
      - ừm
      - Nhận được mã thông báo
      - --cluster-name
      - my-cluster
      lệnh: aws

Nội dung của tệp aws-auth-cm.yaml sau khi tôi thực hiện thay đổi là

phiên bản api: v1
loại: Bản đồ cấu hình
metadata:
  tên: aws-auth
  không gian tên: hệ thống kube
dữ liệu:
  vai trò bản đồ: |
          # - rolearn: <ARN của vai trò phiên bản (không phải hồ sơ phiên bản)>
          # tên người dùng: hệ thống: nút:{{EC2PrivateDNSName}}
          #      các nhóm:
          # - hệ thống: bootstrappers
          # - hệ thống: nút
    - rolearn: arn:aws:iam::375712918983:role/myAmazonEKSClusterRole
      tên người dùng: myAmazonEKSClusterRole
      các nhóm:
        - hệ thống: cao thủ

Bạn có thể vui lòng giúp đỡ với điều này hoặc đưa ra một số gợi ý?

Hãy cho tôi biết nếu bạn có bất cứ thắc mắc nào.

Điểm:1
lá cờ in

Bạn sẽ muốn một trong 3 điều; một trong hai:

  • giả sử arn:aws:iam::123456789012:role/myAmazonEKSClusterRole trong một phiên cuối sao cho aws eks get-token chạy bằng kubectl sẽ cư xử đúng đắn
  • tạo một hồ sơ awscli giả định arn:aws:iam::123456789012:role/myAmazonEKSClusterRole vai trò và cập nhật các lập luận: bao gồm [..., "--profile", "bất cứ thứ gì bạn gọi là hồ sơ đó",...]
  • hoặc đảm nhận vai trò trong một thiết bị đầu cuối, hãy chạy aws eks get-tokenvà đặt thông tin xác thực tĩnh đó vào kubeconfig của bạn vì có vẻ như bạn không cần thông tin đăng nhập quá lâu chỉ để cập nhật Bản đồ cấu hình đó

Đối với cái đầu tiên, ý tôi là aws sts giả định vai trò --role-arn arn:aws:iam::123456789012:role/myAmazonEKSClusterRole ... | tee sts-creds.json và sau đó xuất AWS_ACCESS_KEY_ID= AWS_SECRET_KEY= AWS_SESSION_TOKEN= dựa trên nội dung của json đó

Đối với cái thứ hai, ý tôi là:

$ con mèo >> $HOME/.aws/config <<FOO
[hồ sơ cụm của tôi]
giả định_role = arn:aws:iam::123456789012:role/myAmazonEKSClusterRole
source_profile = bất cứ điều gì
; hoặc credential_source = bất cứ điều gì
FOO

dựa theo tài liệu này

lá cờ in
Tôi đã thử bước đầu tiên nhưng vô ích. Đối với bước thứ ba, tôi nên thay thế thông tin xác thực trong kubeconfig ở đâu?
lá cờ in
`kubectl config set-credential tmp --token "$here" && kubectl config set-context --current --user tmp`
lá cờ in
Tôi đã thực hiện những thay đổi này và sau đó cũng thay đổi tệp aws-auth-cm.yaml (đính kèm trong câu hỏi). Đã thực thi `kubectl apply -f aws-auth-cm.yaml` và gặp lỗi `lỗi: Bạn phải đăng nhập vào máy chủ (máy chủ đã yêu cầu máy khách cung cấp thông tin xác thực)`
lá cờ in
(a) bạn **CHẮC CHẮN** không muốn xóa ánh xạ hồ sơ cá thể đó hoặc các Nút sẽ không tham gia cụm của bạn (b) và ngay cả khi bạn đã làm, đừng sử dụng cách thụt đầu dòng hỗn hợp như vậy, vì yaml rất kén chọn về khoảng trắng (c) bạn có kiểm tra `kubectl get nodes` trước đó `apply` để đảm bảo `aws eks get-token` của bạn hoạt động như bình thường không?
lá cờ in
Tôi đã kiểm tra `kubectl get svc` và `get all`. Cả hai đều không hoạt động. Vì tôi không bắt đầu tạo các nút (vì bước đó không được đề cập trong Hướng dẫn AWS cho đến khi tôi đạt đến), tôi đã nhận xét phần arn của nút trong tệp yaml.

Đă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.