Score:0

ไม่สามารถมอบบทบาท AWS เพิ่มเติมให้สามารถโต้ตอบกับคลัสเตอร์ของฉันได้

ธง in

ฉันกำลังพยายามเรียนรู้ AWS EKS และกำลังติดตาม เริ่มต้นใช้งาน Amazon EKS – AWS Management Console และ AWS CLI แนะนำทีละขั้นตอนยกเว้นภูมิภาคที่ฉันเปลี่ยนเป็น us-east-1

ฉันสามารถสร้างคลัสเตอร์ของฉัน - คลัสเตอร์ของฉัน แต่เมื่อฉันพยายามกำหนดค่าคอมพิวเตอร์ของฉันซึ่งเป็นอินสแตนซ์ EC2 (T2.Micro) เพื่อสื่อสารกับคลัสเตอร์ ฉันได้รับ ข้อผิดพลาด: คุณต้องลงชื่อเข้าใช้เซิร์ฟเวอร์ (ไม่ได้รับอนุญาต) ข้อผิดพลาด. ในการดำน้ำลึก ฉันพบว่าบทบาท EC2 (ARN - arn:aws:iam::123456789012:role/ec2-admin) จำเป็นต้องรับบทบาทที่สร้างคลัสเตอร์ (ARN - arn:aws:iam::123456789012:role /myAmazonEKSClusterRole) ฉันได้แก้ไขเหล่านี้ในคำนิยามบทบาทด้วยโดยแก้ไข Trust Relationship ใน myAmazon EKSClusterRole ได้รับ arn:aws:sts::123456789012:assumed-role/myAmazonEKSClusterRole/test-session หลังจากนี้ฉันสามารถดำเนินการได้ โอเค คำสั่งแต่ คูเบก คำสั่งยังคงหลบเลี่ยงฉัน

สำหรับการดำเนินการ คูเบก คำสั่ง ฉันกำลังพยายามทำตามขั้นตอนใน การจัดการผู้ใช้หรือบทบาท IAM สำหรับคลัสเตอร์ของคุณ. อย่างไรก็ตาม พวกเขากำลังขอให้ฉันเปลี่ยนแปลง aws-auth-cm.yaml configMap ที่ฉันทำไม่ได้เพราะฉันไม่สามารถดำเนินการได้ kubectl ใช้ สั่งการ.

ของฉัน คุเบะคอนฟิก ไฟล์ -

api เวอร์ชัน: v1
คลัสเตอร์:
- กลุ่ม:
    ข้อมูลผู้ออกใบรับรอง: <cert>
  ชื่อ: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
บริบท:
- บริบท:
    คลัสเตอร์: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
    ผู้ใช้: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
  ชื่อ: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
บริบทปัจจุบัน: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
ประเภท: การกำหนดค่า
ค่ากำหนด: {}
ผู้ใช้:
- ชื่อ: arn:aws:eks:us-east-1:123456789012:cluster/my-cluster
  ผู้ใช้:
    ผู้บริหาร:
      apiVersion: client.authentication.k8s.io/v1alpha1
      หาเรื่อง:
      - --ภูมิภาค
      - เรา-ตะวันออก-1
      - เอก
      - รับโทเค็น
      - --ชื่อคลัสเตอร์
      - คลัสเตอร์ของฉัน
      คำสั่ง: aws

เนื้อหาของไฟล์ aws-auth-cm.yaml หลังจากที่ฉันทำการเปลี่ยนแปลงคือ

api เวอร์ชัน: v1
ประเภท: ConfigMap
ข้อมูลเมตา:
  ชื่อ: aws-auth
  เนมสเปซ: ระบบ kube
ข้อมูล:
  แผนที่บทบาท: |
          # - rolearn: <ARN ของบทบาทอินสแตนซ์ (ไม่ใช่โปรไฟล์อินสแตนซ์)>
          # ชื่อผู้ใช้: ระบบ: โหนด: {{ EC2PrivateDSNname}}
          # กลุ่ม:
          # - ระบบ:bootstrappers
          # - ระบบ:โหนด
    - บทบาท: arn:aws:iam::375712918983:role/myAmazonEKSClusterRole
      ชื่อผู้ใช้: myAmazonEKSClusterRole
      กลุ่ม:
        - ระบบ: ต้นแบบ

คุณช่วยด้วยหรือชี้แนะได้ไหม

โปรดแจ้งให้เราทราบหากคุณมีคำถามใดๆ

Score:1
ธง in

คุณจะต้องการหนึ่งใน 3 สิ่ง; ทั้ง:

  • ถือว่า arn:aws:iam::123456789012:role/myAmazonEKSClusterบทบาท ในเซสชันเทอร์มินัลเช่นนั้น aws eks รับโทเค็น วิ่งตาม คูเบก จะได้ปฏิบัติตัวถูก
  • สร้างโปรไฟล์ awscli ที่ถือว่าไฟล์ arn:aws:iam::123456789012:role/myAmazonEKSClusterบทบาท บทบาทและการปรับปรุง หาเรื่อง: ที่จะรวม [..., "--profile", "อะไรก็ตามที่คุณเรียกว่าโปรไฟล์",...]
  • หรือรับบทบาทในเทอร์มินัล เรียกใช้ aws eks รับโทเค็นและใส่ข้อมูลประจำตัวแบบคงที่นั้นใน kubeconfig ของคุณเนื่องจากดูเหมือนว่าคุณไม่จำเป็นต้องใช้ข้อมูลรับรองเป็นเวลานานมากเพียงเพื่ออัปเดต ConfigMap นั้น

สำหรับอันแรกฉันหมายถึง aws sts สวมบทบาท --role-arn arn:aws:iam::123456789012:role/myAmazonEKSClusterRole ... | ที sts-creds.json แล้ว ส่งออก AWS_ACCESS_KEY_ID= AWS_SECRET_KEY= AWS_SESSION_TOKEN= ตามเนื้อหาของ json นั้น

สำหรับอันที่สอง ฉันหมายถึง:

$ cat >> $HOME/.aws/config <<FOO
[โปรไฟล์คลัสเตอร์ของฉัน]
Assump_role = arn:aws:iam::123456789012:role/myAmazonEKSClusterRole
source_profile = อะไรก็ตาม
; หรือ credential_source = อะไรก็ตาม
เอฟ.โอ

ตาม เอกสารนี้

in flag
ฉันลองก้าวแรกแต่ไร้ประโยชน์ สำหรับขั้นตอนที่สาม ฉันควรแทนที่ข้อมูลรับรองใน kubeconfig ที่ใด
in flag
`kubectl config set-credential tmp --token "$here" && kubectl config set-context --current --user tmp`
in flag
ฉันทำการเปลี่ยนแปลงเหล่านี้แล้วเปลี่ยนไฟล์ aws-auth-cm.yaml ด้วย (แนบมากับคำถาม) ดำเนินการ `kubectl ใช้ -f aws-auth-cm.yaml` และได้รับข้อผิดพลาด `ข้อผิดพลาด: คุณต้องลงชื่อเข้าใช้เซิร์ฟเวอร์ (เซิร์ฟเวอร์ได้ขอไคลเอนต์เพื่อให้ข้อมูลประจำตัว)`
in flag
(a) คุณ **แน่นอน** ไม่ต้องการลบการแมปโปรไฟล์อินสแตนซ์นั้นหรือโหนดจะไม่เข้าร่วมคลัสเตอร์ของคุณ (b) และแม้ว่าคุณจะทำเช่นนั้น ก็อย่าใช้การเยื้องแบบผสมเช่นนั้น เนื่องจาก yaml นั้นพิถีพิถันมาก เกี่ยวกับช่องว่าง (c) คุณตรวจสอบ `kubectl get nodes` ก่อนหน้านั้น `apply` เพื่อให้แน่ใจว่า `aws eks get-token` ของคุณทำตามที่ควรหรือไม่
in flag
ฉันตรวจสอบ `kubectl รับ svc` และ 'รับทั้งหมด' ทั้งสองคนไม่ทำงาน เนื่องจากฉันไม่ได้สร้างโหนด (เนื่องจากขั้นตอนนั้นไม่ได้กล่าวถึงใน AWS Tutorial จนกระทั่งฉันไปถึงที่นั่น) ฉันจึงแสดงความคิดเห็นในส่วนโหนด arn ในไฟล์ yaml

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา