我有一個kubernetes中的DNS映射問題。請看詳細信息,將主機映射添加到Kubernetes中的/ etc/hosts中
我們有一些可以從互聯網上訪問的服務器。全球DNS將這些服務器的域名轉換爲公共互聯網IP。 出於安全考慮,某些服務無法通過公共IP訪問。
從公司內部,我們添加了具有專用IP的DNS映射到由kubernetes管理的docker容器內的/ etc/hosts以手動訪問這些服務器。
我知道docker支持命令--add-host在執行「docker run」時更改/ etc/hosts。我不確定這個命令是否支持最新的kubernetes,比如kuber 1.4或1.5?
在另一方面,我們可以包裝的啓動腳本的泊塢窗容器,
- 追加映射到/ etc/hosts中首先
- 啓動應用
我只想在每個容器中首次運行後更改文件一次。有沒有簡單的方法來做到這一點,因爲映射關係可能在開發和生產環境或與kubernetes本身提供的相關的任何命令不同?
感謝您的幫助。
真的非常感謝您的更新。這很有用。我剛剛閱讀了文檔http://kubernetes.io/docs/user-guide/container-environment/並嘗試了這一點。我認爲這個命令需要稍微改成'exec:command: - 「sh」 - 「-c」 - 「echo someip somedomain>/etc/hosts」。似乎kubernetes只是使用'os/exec exec.Command(args).Run()'來運行命令,以便不支持「|,>,>>」。感謝你的幫助:) – qingdaojunzuo
@qingdaojunzuo是的,你是正確的:所有這些命令部分的命令語法遠不是用戶友好的,在沒有測試的情況下當場猜測它們是錯誤的方法:) –