背景:
?? ? 從18年迷迷糊糊開始接觸kubernetes(k8s),到現(xiàn)在入門了一段時間??偨Y(jié)一下,用自己的理解將k8s盡量生動的展現(xiàn)出來。大神就忽略吧。文中會結(jié)合到一些生活的場景中,可能表達會有所欠缺,可以幫助你快速的入門,但是要深入的學(xué)習(xí),還是推薦去看專業(yè)點的文檔。
必備功課
?? ? 看到這篇文檔,默認(rèn)說明你已經(jīng)熟練掌握以下知識
?? ? docker
?? ? docker registry (docker鏡像倉庫)
? ? ? docker compose (單機docker的管理)
? ? ? (可選)docker swarm(docker 集群的)
?? ? (可選)ansible
docker 與 Kubernetes 的關(guān)系
疑問
? ? ? 很多小伙伴估計和我一開始同時接觸 docker 和 kubernetes 一樣,有很多的疑問,比如:
?? ? ? ? 1.docker是什么;
?? ? ? ? 2.我要搭建的是kubernetes,為什么要先去了解dockr呢;
?? ? ? ? 3.kubernetes里提到的pod,Deployment,services,pv,pvc等等名詞是什么,他們之間有何關(guān)系;
當(dāng)然還有很多的疑問,那就帶著這些問題咱們慢慢了解。
釋疑
?? ? docker 就是你,kubernetes 就是你的公司。你是干活的,公司是管你的,他倆就是這樣的關(guān)系。你一個人做同一個項目的好多活,一會兒要在公司,一會兒要去機房,一會兒還要去出差,公司就是管著你做這些事情的。
用官方點的說辭就是:
?? ? Docker是一個開源的應(yīng)用容器引擎,開發(fā)人員可以非常容易地打包已經(jīng)開發(fā)好的應(yīng)用,同時將應(yīng)用相關(guān)的依賴包也打包到這樣一個可移植的容器中,然后發(fā)布到任意的Linux主機系統(tǒng)上。簡單說就是,你是一塊磚,哪里需要哪里搬。
?? ? Kubernetes一個用于容器集群的自動化部署、擴容以及運維的開源平臺。通過Kubernetes,你可以快速有效地響應(yīng)用戶需求;快速而有預(yù)期地部署你的應(yīng)用;極速地擴展你的應(yīng)用;無縫對接新應(yīng)用功能;節(jié)省資源,優(yōu)化硬件資源的使用。為容器編排管理提供了完整的開源方案。簡單說就是,公司可以隨意的調(diào)用人員去做事情。
讓我們一起干活吧
?? ? 1、大概找kubernetes的相關(guān)文章看看,了解一下都有哪些知識和內(nèi)容,有一個模糊的認(rèn)識
? ? ? 2、kubernetes的搭建。很多人可能認(rèn)為搭建比較難,kubernetes官方提供了幾種搭建方式,我最常用的還是采用二進制的方式進行搭建,這里推薦兩個二進制部署的方案:
? ? - 采用ansible部署:https://github.com/lizhenliang/ansible-install-k8s ,在純凈的centos7上可以直接安裝使用,里面包含了安裝kubernetes所需的所有軟件,會順便安裝三個常用的組件,分別是dashboard,ingress-nginx,coredns
? ? - 純手動部署:https://github.com/opsnull/follow-me-install-kubernetes-cluster,提供了詳細(xì)安裝步驟,要有耐心,仔細(xì)的去部署,更加直觀的感受kubernetes的安裝。你要是熟練shell了,可以把他的腳本自己再處理一下,更加方便你自己使用。(順利的話部署也快)
? ? ? 部署就不展開講了,網(wǎng)上好多現(xiàn)成的方案,咱們先別糾結(jié)太多,讓集群先跑起來,然后咱們再一步一步去了解它。