1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        使用 aws ssm cli 連接跳板機(jī)

        共 2836字,需瀏覽 6分鐘

         ·

        2021-07-31 10:53

        背景

        在云原生開發(fā)越來(lái)越熱的今天,公司采用云服務(wù)提供商的托管 Kubernetes 集群部署應(yīng)用很常見。如果采用了 AWS 的 EKS,并且公司網(wǎng)絡(luò)和集群的網(wǎng)絡(luò)沒有打通的情況下,要查看集群資源,可以通過 AWS 的會(huì)話管理器,啟動(dòng) Web Console 來(lái)進(jìn)行。但是這樣手動(dòng)步驟過多,對(duì)開發(fā)不夠友好。


        并且目前的 AWS web console,有一個(gè) BUG,即在 web console 里通過 kubectl edit cm/xxxconfigmap 對(duì) configmap 進(jìn)行編輯后,無(wú)法使用常用的 ESC 或者 Ctrl + [ 退出 vi 的插入模式,因?yàn)檫@兩個(gè)按鍵方式都會(huì)被瀏覽器截獲,導(dǎo)致失去編輯窗口的焦點(diǎn)。盡管我通過試驗(yàn) Ctrl + o 可以不失去焦點(diǎn)成功退出vi 的插入模式,但是如果能夠不用 web console 是最理想的。



        aws ssm cli

        可以通過 aws ssm cli 來(lái)避免使用 web console。但是直接使用會(huì)報(bào)連接失敗的錯(cuò)誤。


        解決方案

        通過腳本自動(dòng)登錄并獲取 AWS 臨時(shí)令牌,以獲得連接權(quán)限。


        先決條件

        Python3 已安裝:


        ? python3 --version

        Python 3.8.2


        克隆腳本

        git clone [email protected]:Jeff-Tian/aws-adfs-auth.git

        cd aws-adfs-auth



        安裝依賴

        sudo pip3 install --upgrade pip         # upgrade to latest pip3

        sudo pip3 install -r requirements.txt   # install dependencies


        獲取臨時(shí)令牌

        CYBERARK_SERVER=pam.corp.your-company.com ADFS_DOMAIN=adfs.corp.your-company.com ADFS_DOMAIN_USERNAME=cnXXX ADFS_DOMAIN_PASSWORD=***** python3 main.py -r cn-north-1 --no-certificate-verify


        安裝 ssm 插件

        curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/session-manager-plugin.pkg" -o "session-manager-plugin.pkg"

        sudo installer -pkg session-manager-plugin.pkg -target /

        ln -s /usr/local/sessionmanagerplugin/bin/session-manager-plugin /usr/local/bin/session-manager-plugin



        連接跳板機(jī)

        aws ssm start-session --target i-1234-instance-id-of-ec2



        使用 kubectl 命令查看集群資源

        ? aws ssm start-session --target i-1234-instance-id-of-ec2

         

        Starting session with SessionId: jeff-sqs-test-0a8d0d4f75545e986

        sh-4.2$ sudo su

        [root@ip-172-20-20-231 bin]# kubectl get pod

        NAME                                       READY   STATUS    RESTARTS   AGE

        adminer-f5cc4fcc7-dx7d9                    1/1     Running   0          12d

        yapi-deployment-mongo-855fff7c6d-fshs4     1/1     Running   0          12d

        [root@ip-172-20-20-231 bin]# exit

        exit

        sh-4.2$ exit

        exit

         

         

        Exiting session with sessionId: jeff-sqs-test-0a8d0d4f75545e986.



        總結(jié)

        第一次使用需要執(zhí)行一系列命令,因?yàn)樾枰惭b一些依賴。在隨后的工作中,只需要執(zhí)行如下兩個(gè)命令就行了:


        CYBERARK_SERVER=pam.corp.your-company.com ADFS_DOMAIN=adfs.corp.your-company.com ADFS_DOMAIN_USERNAME=cnXXX ADFS_DOMAIN_PASSWORD=***** python3 main.py -r cn-north-1 --no-certificate-verify


        aws ssm start-session --target i-1234-instance-id-of-ec2



        臨時(shí)令牌只有一個(gè)小時(shí)的有效期,但是由于執(zhí)行命令比起操作網(wǎng)頁(yè)快得多,因此很方便自動(dòng)化。


        瀏覽 73
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产成人网站免费观看 | 性爱视频91 | 黄色小视频在线播放 | 夜夜春亚到洲 | 国产棈品久久久久久久久久懂色 | 国产视频黄| 国产做爰全免费的视频黑人 | 精品人妻一区二区三区浪潮在线 | 强奸乱伦大香蕉 | 老汉娇妻奶水欲 |