第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從 Django View 將變量傳遞到遠(yuǎn)程(Golang)應(yīng)用程序的最佳方法

從 Django View 將變量傳遞到遠(yuǎn)程(Golang)應(yīng)用程序的最佳方法

Go
收到一只叮咚 2023-08-07 15:04:57
我正在創(chuàng)建一個(gè) Django Web 應(yīng)用程序,它將協(xié)助準(zhǔn)系統(tǒng)服務(wù)器部署,其中準(zhǔn)系統(tǒng)服務(wù)器將 PXE 啟動(dòng)到自定義 LiveCD,以發(fā)送 cURL 命令將其自身注冊(cè)到 DRF REST API。當(dāng) Django 收到POST請(qǐng)求時(shí),它將遠(yuǎn)程啟動(dòng)一個(gè) Go 應(yīng)用程序,該應(yīng)用程序?qū)⒏鶕?jù) REST API 中的條目找到基本服務(wù)器,然后開始配置服務(wù)器。識(shí)別/將裸機(jī)服務(wù)器引入我的 Go 服務(wù)器的最佳方式是什么?我的想法是要么使用解析器參數(shù)來識(shí)別服務(wù)器,然后 Go 將從 REST API 中提取基本的服務(wù)器信息,或者在 REST API 中添加一個(gè)布爾字段,Go 應(yīng)用程序?qū)⒉檎?TRUE 的條目,然后將其翻轉(zhuǎn)到當(dāng)它開始設(shè)置裸機(jī)服務(wù)器時(shí)為 FALSE。這是完成這項(xiàng)工作的最佳方法還是有更好的方法?
查看完整描述

1 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

實(shí)際上,PXELINUX帶有基于系統(tǒng)MAC地址的識(shí)別機(jī)制,并且可以相應(yīng)地定制配置。由于無(wú)論如何您都需要對(duì)裸機(jī)服務(wù)器進(jìn)行統(tǒng)計(jì)(端口安全有人嗎?;)),因此無(wú)論如何您都應(yīng)該知道裸機(jī)服務(wù)器上所有接口的 MAC 外觀。

您的目錄通常如下所示(路徑前綴可能不同)。

/srv/pxe/pxelinux.cfg/default

現(xiàn)在發(fā)生的情況是,您的系統(tǒng)啟動(dòng),發(fā)送 DHCP 請(qǐng)求并獲得包含 DHCP 選項(xiàng)“下一個(gè)服務(wù)器”和“文件名”的報(bào)價(jià)。當(dāng)系統(tǒng)選擇所述報(bào)價(jià)時(shí),它將連接到“下一個(gè)服務(wù)器”并請(qǐng)求“文件名”,通常為pxelinux.0.?這是您的第一個(gè)潛在鉤子:編寫一個(gè) tftp 服務(wù)器來處理請(qǐng)求并注冊(cè)您的系統(tǒng)。

現(xiàn)在pxelinux.0執(zhí)行,它會(huì)讀取上面的配置文件。但事情是這樣的:假設(shè)系統(tǒng)的 Mac 地址是23:67:33:5a:cc:e8,文件

/srv/pxe/pxelinux.cfg/23-67-33-5a-cc-e8

存在,則將讀取此內(nèi)容。這是您的第二個(gè)鉤子:請(qǐng)求將由 tftp 記錄。

無(wú)論是否default使用特定于系統(tǒng)的配置文件,基本上我們談?wù)摰氖?GRUB 配置文件。假設(shè)你使用 Kickstart 安裝系統(tǒng),它會(huì)看起來像這樣

default?linux
prompt?0
timeout?1
label?linux
????????kernel?/images/yourdistro/vmlinuz
????????ipappend?2
????????append?initrd=/images/yourdistro/initrd.img?console=ttyS0,115200

現(xiàn)在,事情是這樣的:您有多種可能性在啟動(dòng)時(shí)執(zhí)行自定義程序:

  • 將可執(zhí)行文件的路徑附加到參數(shù)中append。按照慣例,內(nèi)核會(huì)將所有它不知道的參數(shù)發(fā)送到 pid 1。雖然我沒有測(cè)試 systemd 是否遵守約定并簡(jiǎn)單地依次執(zhí)行一個(gè)它不知道的參數(shù),但我假設(shè)也是如此。

  • 計(jì)劃任務(wù)。現(xiàn)在大多數(shù) cron 實(shí)現(xiàn)都支持@boot時(shí)間定義。

  • init 系統(tǒng),無(wú)論是 systemd 還是 openrc 或者好的 SYSV init。

最后但并非最不重要的一點(diǎn)是如何配置機(jī)器。我強(qiáng)烈建議不要重新發(fā)明輪子。我在(閉源)項(xiàng)目中有非常相似的要求。我們使用 kickstart 進(jìn)行基本的系統(tǒng)安裝,并在重新啟動(dòng)到Ansible Tower后簡(jiǎn)單地執(zhí)行一個(gè) curl 命令,觸發(fā)更詳細(xì)的配置。由于我們有一個(gè)帶有 MAC 的 DHCP 服務(wù)器、為所述 MAC 保留的 IP 以及易于配置的主機(jī)名(dnsmasq、caugh、caugh),所以這不是什么大問題?;旧希覀兪謩?dòng)要做的就是注冊(cè) MAC 地址并分配 IP 和主機(jī)名,然后啟動(dòng)機(jī)器。


查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)