您好,登錄后才能下訂單哦!
本篇內容主要講解“Docker優化的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Docker優化的方法有哪些”吧!
和之前介紹的Crane不同,來自好雨云(GoodRain)的云幫(CloudHelp目前已改名RainBond)是基于K8S的,說實話,感覺比Crane的開源態度更好點,看得出來是認真在弄的。Crane我發的issue至今無人回復,感覺應該是涼了
關于云幫的定位,可以參考下官方的FAQS
Q: 云幫開源版的定位是什么? A: 中小企業CI/CD平臺,生產環境的應用管理平臺。云幫不是拉近開發和運維的距離,而是讓開發和運維做他們本來應該做的事情。開發對程序和業務負責,運維對資源負責,云幫作為開發和運維的助手。 Q: 發布開源版的目的是什么? A: 希望能有更多的企業和個人愛好者享受到容器及云計算技術所帶來的高效與便利。通過社區版讓廣大的用戶了解云幫產品的設計理念。 Q: 開源版發展規劃 A: 云幫是個平臺級的產品,即使是開源版我們首要關注的是穩定性,產品設計會本著 功能簡潔夠用 的原則,降低使用門檻,讓用戶以最簡單的方式來體驗容器技術帶來的紅利。 Q: 云幫企業版是否有生產環境運行的案例?開源版是不是只是演示和測試的“玩具”? A: 說到這個問題,我想需要明確一下大家判斷一項技術或產品在“生產環境” 運行的標準是什么。只有對這個標準或定義明確了,討論這個問題才有意義。咱們從穩定性、可維護性、擴展性、支持服務四個方面來說明: 1. 穩定性:云幫公有云實際上就是我們在公有IaaS平臺之上運行的一套云幫企業版。云幫公有云已上線運營超過700天,沒有發生過一次因底層程序而造成的事故,SLA可達99.999% ,開源版基礎模塊的核心代碼與企業版 100%一致。 2. 可維護性:云幫基礎技術單元是Docker,服務編排和調度使用kubernetes,這兩款軟件是目前關注度最高的開源項目,文檔和技術社區都非常成熟。云幫的其他模塊我們都采用Docker鏡像的方式進行打包,利用kubernetes內部的高可用機制保證高可用。因此平臺的維護成本非常低,再加上好雨技術團隊多年的平臺維護經驗,云幫的部署、監控體系都非常的完善。 3. 擴展性:云幫平臺云生支持分布式部署,借助kubernetes的容器調度機制,可以數秒鐘啟停上千個容器。平臺容器主機也支持動態伸縮,可以在3分鐘內上線新的容器主機。 4. 服務支持:針對開源版我們提供及時的產品更新服務,平臺bug,安全補丁會按照開發進度第一時間修復。提供社區、微信/QQ群在線支持,并提供完備的文檔支持。 另外云幫企業版目前主要是私有化項目,已超過100家企業部署了企業版,如: zdoo.com 、姚記彩票網等。云幫社區版也有不少中小企業在生產環境中運行。
不說其他的,但是可以看出云幫是會持續維護的,起碼不會突然涼涼,不是為了開源而開源的玩具,所以如果需要一個基于K8s的管理平臺,云幫或許也是個選擇。
準備工作直接看官方文檔吧 為啥會有3.4和3.5呢,因為我這個教程放了一陣子,然后發現官方發布了3.5...那么我就介紹3.5好了,畢竟3.4實驗性質更多一點
總結一下:
CentOS7的系統(必須是systemd的,Debian理論上可以,但是推薦CentOS7)
配置足夠(要求配置不低,實際使用建議集群)
NTP校時(配置ntpd以及修改時區)
服務器必須配置靜態IP,確保不會因為DHCP在重啟后發生IP變動
環境干凈(官方建議裝了Docker和kubelet的全部卸載了再來)
最好下面安裝完后就不要去修改hostname(非要改請同時修改/etc/host和/etc/hostname,并保證各節點不重復)
# 安裝云幫 bash <(curl -s http://repo.goodrain.com/install/3.5/start.sh)
基本上算是一鍵安裝了(如果你環境沒問題的話)
可以看出來這個gr-docker-engine似乎是好雨云基于Docker 1.12的修改版,具體修改了啥就不清楚了,也可能是單純的重新封裝.
Hmm,這個安裝比較極其漫長,請耐心等待,并且建議掛個screen防止斷線
PS.如果發生長時間卡住不動的情況,請參照以下官方解決方案
檢查當前任務是否生成相關日志文件,若未生成,則可以新開一個終端,執行systemctl restart rainbond-node 如重啟node后以及未執行,使用`grctl tasks get <任務>` 檢查依賴任務是否執行成功,若未成功,則檢查依賴任務執行日志
完成后訪問顯示的URL,也就是http://服務器IP:7070/
第一次訪問請注冊(默認第一個注冊為管理員)
注冊完自動登錄,界面還是挺好看的
添加計算節點的命令如下,這個是在管理節點上運行的,只要確保你為目標機器配置了SSH免密登陸(建議測試下能夠在管理節點上直接登錄過去),然后直接運行就OK了
# 添加計算節點到node集群里 grctl node add -i <計算節點內網ip> --Role compute # 計算節點uid uuid=$(grctl node list | grep <計算節點內網ip> | awk '{print $2}') # 安裝計算節點服務 grctl install compute --nodes $uuid # 上線計算節點服務 grctl node up $uuid
云幫的使用花樣還是比較多的,完整的請查看官方文檔——>傳送門
我這邊只介紹基礎的
這個是直接從官方的示例部署的,需要知道的是,每個云幫都會由好雨云分配一個二級域名,泛解析到你的節點上,所以訪問用的是那個域名,似乎是可以通過修改/etc/goodrain/console.py中的WILD_DOMAIN來變更,不過不確定可行性。
另外的從Dockerfile啊,DockerCompose啥的創建應用就不提了,自己去玩玩吧。這個在我看來沒有給你過多的選項,面板只是作為應用管理的存在,(服務器啥的)設置啥的全都是幫你固定的(自動配置),也許企業版有更多的設置,但是在我看來似乎是夠用了,不用你去操心和折騰也許正是團隊或者公司需要的(?)
1、 修改文件描述符限制
vi /etc/security/limits.conf #增加如下內容 root soft nofile 102400 root hard nofile 102400 * soft nofile 102400 * hard nofile 102400
如果要生效需要重啟
2、 內核參數調優
vi /etc/sysctl.conf #增加如下內容 net.ipv4.neigh.default.gc_stale_time=120 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0 net.ipv4.conf.default.arp_announce=2 net.ipv4.conf.all.arp_announce=2 net.ipv4.tcp_max_tw_buckets=5000 net.ipv4.tcp_syncookies=1 net.ipv4.tcp_max_syn_backlog=1024 net.ipv4.tcp_synack_retries=2 net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1 net.ipv4.conf.lo.arp_announce=2 vm.swappiness=10 vm.vfs_cache_pressure=50 vm.overcommit_memory=1 net.core.somaxconn = 65535 net.netfilter.nf_conntrack_max = 655350 net.netfilter.nf_conntrack_tcp_timeout_established = 1200 #使修改馬上生效 sysctl -p
3、 增加NFS掛載服務并發數
vi /etc/sysctl.conf #增加如下內容 sunrpc.tcp_slot_table_entries = 128 #使修改馬上生效 sysctl -p
4、 開啟容器swap使用限制
如果在啟動容器時只指定-m而不指定--memory-swap,那么--memory-swap默認為-m的兩倍,比如
docker run -it -m 200M image
表示容器最多使用200M的物理內存和200M的swap。 如果提示如下錯誤,可能是因為主機上默認不啟用cgroup來限制swap分區
WARNING : Your kernel does not support swap limit capabilities, memory limited without swap.
可以使用如下命令來解決
echo GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" >> /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg >/dev/stdout 2>&1
到此,相信大家對“Docker優化的方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。