我為什么寫這篇文章
????????在相當(dāng)長一段時(shí)間工作之后,停下來思考,從向往到學(xué)習(xí)探索到實(shí)踐,這之中經(jīng)歷過什么;在不斷的學(xué)習(xí)路上,我個人十分渴望看到別人的成功經(jīng)驗(yàn),比如博客护锤、講座以及圖書,非常感謝這些人將自己的經(jīng)驗(yàn)分享出來,讓我們得以站在巨人的肩膀上做自己想做的事,提高生產(chǎn)效率;然而,在我將近10年的技術(shù)道路上,很少為他人付出過什么。
????????以此開篇,希望能以我的經(jīng)驗(yàn)和實(shí)際經(jīng)驗(yàn)為大家奉上你最關(guān)心的技術(shù)技能蒿囤、實(shí)戰(zhàn)講解,一起在漫漫黑科技之路上下求索轻姿。
閱讀前提
????????1. 微服務(wù)體系(什么是微服務(wù)乳乌、微服務(wù)的12要素、你所擅長的技術(shù)體系绩聘、Service Mesh)
????????2. 容器化(Docker沥割、Kubernetes/Openshift)
????????3. Istio(參考 https://istio.io/docs/)
????????4. 開發(fā)語言(本文將支持Golang、Java等,視時(shí)間而定)
????????5. DevOps
????????在您對這些有了一定了解之后,我希望您能做如下事情:
? ? ? ? 1) 搭建Go語言開發(fā)環(huán)境(如無需請忽略),并檢出我準(zhǔn)備好的Repo,并將其Dockerized,并可正常運(yùn)行;
? ? ? ? 2) 準(zhǔn)備Kubernetes環(huán)境,作者使用Minikube(請確保kubectl已安裝);
? ? ? ? 3) 安裝Istio
正式動手
? ? ?非常抱歉,從來沒寫過博客,不太會使用如何支持代碼方面的功能,也找不到Markdown的位置,只能暫時(shí)說一下步驟,如果您存在部署上的問題,或者其他的技術(shù)問題,請留言給我;在能正常使用博客功能后,我會繼續(xù)把整個文章寫好.
? ? 1. 編譯Blue/Green版本,在本例中,以歌手為例,分為別jessie和feng版本;并push自己的鏡像,可以傳到DockerHub,本地或者阿里云倉庫(本例中使用的是阿里云倉庫);
? ? 注意: 在使用部署到阿里云倉庫方式時(shí),需要修改Makefile,相應(yīng)命令改為
????docker build -t $(IMG) .?
? ? 使其能夠自動編譯latest鏡像.
? ? 2. 發(fā)布服務(wù),具體參照代碼結(jié)構(gòu)中的run.sh,每一步驟均作了說明.