對於容器編排系統,前段時間主要研究kubernetes,現在實驗室要用dcos,所以在實驗室集群上搭建了該系統,dcos版本為1.8.6。
使用的系統為centos7.2,機器使用情況如下表所示,實驗室集群沒有聯外網。
為了避免安裝失敗時需要重新啟動系統,這裡可以在完成第7節,安裝完成Docker後將所有機器系統備份,出現問題時將系統還原到備份點。需要主要的是還原後要重新做第5步時間同步。系統備份參考http://blog.csdn.net/yuanfang_way/article/details/54383616
1.關閉firewalld和selinux
2.ssh免密碼登錄
3.時間同步
4.安裝overlay模塊
5.安裝docker
6.安裝dcos
在boot節點上執行ssh-keygen -t rsa生成密鑰
執行ssh-copy-id -i 10.107.x.x分別將私鑰復制到其他要免密鑰登陸的機器
參考http://blog.csdn.net/yuanfang_way/article/details/53959591
執行命令
tee /etc/modules-load.d/overlay.conf <<-'EOF'overlayEOF
並重啟將overlay模塊加載如系統中,並執行lsmod | grep overlay查看是否加載成功,成功應該顯示overlay 42451 0
首先,通過rpm或者yum install的方式安裝docker,在沒網的情況下需要先下載docker安裝相關的rpm包;之後,設置docker的存儲為overlay,具體應該執行如下腳本:
mkdir -p /etc/systemd/system/docker.service.d && tee /etc/systemd/system/docker.service.d/override.conf <<- EOF[Service]ExecStart=ExecStart=/usr/bin/docker daemon --storage-driver=overlay EOF
改變配置後需要執行systemctl daemon-reload命令使配置生效; 這時便可以啟動docker了,如下:
systemctl start dockersystemctl enable docker
最後,運行docker info命令查看是否正常安裝docker,並且存儲用的是overlay,正確情況時顯示如下圖
在genconf中新建一個ip-detect文件,用於探測集群中節點的ip,我使用的文件內容為
#!/bin/bashecho $(ip addr s | grep inet | grep 10.107 | awk -F' ' '{print $2}'| awk -F'/' '{print $1}')
這裡不能寫錯,因為該文件內容最終會被拷貝到master和agent節點的/opt/mesosphere/bin/detect_ip中,在第9步啟動dcos服務時用來探測ip。如果,寫錯將不能正常啟動集群,報如下錯誤
time="2017-01-13T00:57:22+08:00" level=info msg="/opt/mesosphere/etc/endpoints_config.json not found" time="2017-01-13T00:57:22+08:00" level=error msg="Could not detect IP: fork/exec /opt/mesosphere/bin/detect_ip: exec format error" time="2017-01-13T00:57:22+08:00" level=error msg="Could not get mesos node id: Get http://:5051/state: dial tcp :5051: getsockopt: connection refused" time="2017-01-13T00:57:22+08:00" level=fatal msg="Found unhealthy systemd units"
注意:如果安裝過程中出現錯誤需重新安裝的話,需要清除已經安裝的文件。具體做法是新建一個uninstall.sh文件,文件內容如下,將該文件改為可執行文件,然後執行即可。
/opt/mesosphere/bin/pkgpanda uninstall && \rm -rf /opt/mesosphere /var/lib/mesos /var/lib/dcos /var/lib/zookeeper /var/log/mesos /etc/mesosphere /var/lib/mesosphere && \rm -rf /etc/profile.d/dcos.sh /etc/systemd/journald.conf.d/dcos.conf /etc/systemd/system/dcos-cfn-signal.service /etc/systemd/system/dcos-download.service /etc/systemd/system/dcos-link-env.service /etc/systemd/system/dcos-setup.service /etc/systemd/system/multi-user.target.wants/dcos-setup.service /etc/systemd/system/multi-user.target.wants/dcos.target
梁明遠,國防科大並行與分布式計算國家重點實驗室(PDL)應屆研究生,14年入學伊始便開始接觸docker,准備在余下的讀研時間在docker相關開源社區貢獻自己的代碼,畢業後准備繼續從事該方面研究。郵箱:[email protected]
http://www.bkjia.com/Linuxjc/1192003.html TechArticle