1、環境前提
集群版本:kuberteles 1.8
運行時組件:docker
節點服務器系統:centos7
1.1、需求
用騰訊雲的容器服務搭建了一個集群,是參照原有集群的,相當於原樣克隆一個。本想問問騰訊那邊有沒有類似克隆的方案。但被告知沒有。只好手動創建了。
在初期配置階段,負載一直異常,不斷重啟。查看日志發現有url鏈接超時。反應多來可能需要參照原集群配置coreDNs文件。這個是負責容器域名解析的。
2、操作過程
我的思路是把原集群的coreDNS文件解析部分復制過來就行。
於是到集群執行命令 kubectl edit cm -n kube-system coredns
可是當我把我需要的解析復制進去的時候,提示 格式異常,是縮進問題。因為我改的時候用的是tab和空格,誰知道縮進這么嚴格。
好吧,我把tab全部用空格替換。
再次保存。
再次報錯。
?
我用原集群的格式試試。
復制,替換,保存。
成功。
然后直接退出了編輯模式。
該死的習慣性 :wq
我應該就w的。。。
而且不僅是保存退出的問題,而是當我再次進去想要編輯的時候,提示已經被更改過了,需要 用另外的命令:
但是然並r,說要最新的版本再try 一 try:
而且文件格式也不是之前整整齊齊的格式了,而是變成:
原來host這塊兒是這樣的:
?
難道保存退出后集群就執行了什么操作了? 不知道,而且這個信息太過難找,就沒去深究。
這咋辦。
這時我注意到,雖然編輯命令沒有指定文件,但其實文件路徑在:
我直接替換文件可以吧。
於是順藤摸瓜,找到目錄,不看不知道。所有的更改版本都整整齊齊碼着呢。可把我高興壞了
根據時間,我找到上一個版本的文件,執行替換:
哎呀呀,不錯嘛k8s,都學會版本控制了。
於是我興高采烈用原始的版本,去替換最新的版本:
發現也報錯。無法恢復到初始文件。(圖忘記留了)
?
你都做了版本控制了又何必控制我恢復初始文件呢。搞不懂。
最后的最后,還是進文件里,雖然格式不對,但是我一條一條對着改總沒問題了吧。
是的。
勤能補拙!
把ip 域名 手動修改為自己需要的內容。最后ok了。
其實我想,肯定是有恢復初始化狀態的方法的,但是我暫時沒找到,所以只能手動。
而且在操作時,如果一時誤操作,千萬別再次胡亂改動,說不定上一份文件可以恢復,但上上上份文件就不能恢復了。