日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于如何在Nomad中保护工作部署的工作流的简要历史

發(fā)布時間:2025/3/21 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于如何在Nomad中保护工作部署的工作流的简要历史 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

許多HashiCorp用戶和員工都喜歡我們的整套產(chǎn)品,但就像您的祖母一樣,幾乎不可能不對我們的某一個產(chǎn)品有一點偏愛(最喜歡的孫子說)。

在我的例子中,我對HashiCorp Nomad的偏愛是很明顯的,甚至在歐洲團(tuán)隊中是一個持續(xù)的笑話。我想,每一次客戶會議都會有人說:“是啊,這就是Nomad, Nico最喜歡的產(chǎn)品……”

因此,你可以想象我的興奮之情,去年9月,Armon 上臺公開宣布了Nomad 0.7發(fā)布的過多特性。我終于對企業(yè)調(diào)度程序有了完整的認(rèn)識。配額和命名空間將企業(yè)客戶本來就很低的操作開銷降至最低,ACLs將提供對開放源碼用戶的安全訪問。關(guān)于最后一點,就在我拍攝這張照片的時候,我有了一個短暫的頓悟(并沒有很多人有這些照片的真實記錄)。一個團(tuán)隊如何運作ACLs?

  • 操作人員可以為進(jìn)行部署的用戶和系統(tǒng)(如CI管道)創(chuàng)建長壽命的令牌。絕對不會。
  • 共享令牌?別讓我開始。
  • 為用戶構(gòu)建LDAP集成,為機器構(gòu)建長時間使用的令牌。聽起來有很多工作要做。

如果我們有一種能夠代理憑證訪問的技術(shù),并且已經(jīng)有了一種方法,可以使用LDAP(用于用戶)和EC2工作人員(在技術(shù)上也可以在Nomad中運行)來建立身份。等等,我們的確有一些東西能做到。HashiCorp Vault實際上是最合適的選擇。我已經(jīng)在腦子里玩這些流程了:

  • 用戶使用LDAP對Vault進(jìn)行身份驗證,獲得Vault令牌
  • 該Vault令牌與特定的Vault策略綁定在一起,而該策略又與Vault中可以使用精確的Nomad策略生成Nomad令牌的路徑綁定在一起。
  • 用戶請求一個具有較短過期時間的Nomad令牌
  • 根據(jù)需要與Nomad交互
  • 幸福:D
  • 只有一個小問題,我們(當(dāng)時)沒有一個Nomad的Secret引擎。關(guān)于這家公司,你肯定需要知道的一點是,一個好的想法永遠(yuǎn)都是不夠的,你需要執(zhí)行它。因此,由于缺乏Vault的內(nèi)部知識,而且從未寫過一行Go,我就去了。

    結(jié)果證明了Vault是多么的神奇,就在我編寫代碼的時候,這個東西似乎在工作,大約3個小時后,Vault實際上生成并撤銷了Nomad標(biāo)記。稍后的長代碼回顧(https://github.com/hashicorp/vault/pull/3401)將秘密引擎合并到0.9.1中。讓我們快速看看如何快速設(shè)置它。

    當(dāng)然,ACLs需要通過配置文件中的acl節(jié)在Nomad中啟用:

    acl {enabled = truetoken_ttl = "30s"policy_ttl = "60s" }

    應(yīng)該為ACLs引導(dǎo)集群,并且應(yīng)該有一個初始管理令牌。值得注意的是,初始管理令牌可以被撤銷,但它可能會修改子令牌,所以您很可能不想將該令牌交給Vault,而是生成一個可以獨立管理的子令牌:

    $ NOMAD_TOKEN=${INITIAL MANAGEMENT TOKEN} nomad acl token create -type=management Accessor ID = 5f7d8875-1bf9-ed80-c8c3-e4e6e20c2408 Secret ID = ea83681b-9ca8-4393-999f-a25731ad3b55 Name = <none> Type = management Global = false Policies = n/a Create Time = 2018-03-17 11:36:12.696245 +0000 UTC Create Index = 8 Modify Index = 8

    您還應(yīng)該在Nomad中創(chuàng)建一組策略,因為Vault將利用這些策略最終創(chuàng)建令牌,在本例中,您可以創(chuàng)建一個示例策略,如下所示:

    namespace "default" {policy = "read" } agent {policy = "read" } node {policy = "read" }

    并將其引入Nomad:

    $ NOMAD_TOKEN=${INITIAL MANAGEMENT TOKEN} nomad acl policy apply policyone ./payload.json Successfully wrote "policyone" ACL policy!

    現(xiàn)在開始配置Vault。首先將nomad秘密引擎安裝到一個掛載點,并配置到nomad的連接:

    $ vault mount nomad Successfully mounted 'nomad' at 'nomad'! $ vault write nomad/config/access \address=http://127.0.0.1:4646 \token=adf4238a-882b-9ddc-4a9d-5b6758e4159e Success! Data written to: nomad/config/access

    現(xiàn)在在Vault中創(chuàng)建一個角色來發(fā)布與我們剛剛創(chuàng)建的Nomad策略相關(guān)聯(lián)的Nomad標(biāo)記:

    $ vault write nomad/role/role-name policy=policyone Success! Data written to: nomad/roles/role-name

    以及一個Vault策略,用于生成Vault令牌,允許在此角色中創(chuàng)建Nomad令牌:

    $ echo 'path "nomad/creds/role-name" {capabilities = ["read"] }' | vault policy-write nomad-user-policy - Policy 'nomad-user-policy' written.

    例如,作為最后一步,您可以只生成一個與策略相關(guān)聯(lián)的Vault令牌,并檢索一個Nomad令牌,如下所示:

    $ vault token-create -policy=nomad-user-policy Key Value --- ----- token deedfa83-99b5-34a1-278d-e8fb76809a5b token_accessor fd185371-7d80-8011-4f45-1bb3af2c2733 token_duration 768h0m0s token_renewable true token_policies [default nomad-user-policy] $ vault read nomad/creds/role-name Key Value --- ----- lease_id nomad/creds/test/6fb22e25-0cd1-b4c9-494e-aba330c317b9 lease_duration 768h0m0s lease_renewable true accessor_id 10b8fb49-7024-2126-8683-ab355b581db2 secret_id 8898d19c-e5b3-35e4-649e-4153d63fbea9

    這種技術(shù)可以與任何通過Vault進(jìn)行身份驗證的東西結(jié)合使用,最終為Nomad管理和調(diào)度提供一個非常安全的工作流。

    您是否有興趣告訴別人您的HashiCorp故事,或者HashiCorp產(chǎn)品如何幫助您構(gòu)建了令人驚奇的東西?讓我們知道。把你的故事或想法發(fā)郵件到guestblogs@hashicorp.com

    總結(jié)

    以上是生活随笔為你收集整理的关于如何在Nomad中保护工作部署的工作流的简要历史的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。