国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

初試k8s,通過rancher自頂向下的學(xué)習(xí)kubernetes

marser / 996人閱讀

摘要:下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。是通過虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的。對內(nèi)或?qū)ν獗┞斗?wù)。和的控制器,通過配置的規(guī)則來管理。三個(gè)主要的命令行程序用了啟動(dòng)集群。需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似。

之前就玩過docker,但是一直不知道怎么把容器運(yùn)用到生產(chǎn)上。構(gòu)建一個(gè)docker鏡像,把他run起來很簡單;難的是容器的部署(CICD),容器的網(wǎng)絡(luò),數(shù)據(jù)持久化等。如果我們像之前一樣,打包好鏡像,通過ssh連接到目標(biāo)服務(wù)器run起來,這和打包成二進(jìn)制傳上去似乎也沒多大進(jìn)步。

k8s就是幫我們解決這些難點(diǎn)的工具。k8s是master-node架構(gòu),通過master管理node。首先需要將你的機(jī)器組成k8s集群,集群機(jī)器的內(nèi)網(wǎng)應(yīng)該是連通的,這樣你的集群就捆綁成了一個(gè)整體由k8s接管了。你只需要準(zhǔn)備好配置文件,用k8s的api或cli(命令行)發(fā)布鏡像即可,k8s會根據(jù)你配置的規(guī)則來管理容器,應(yīng)用場景有:一份鏡像需要部署多少個(gè)容器(replicaSets),服務(wù)的升級策略(滾動(dòng)更新),服務(wù)的容災(zāi)策略(某個(gè)node掛了可以在其他node補(bǔ)上缺失的容器),彈性伸縮(監(jiān)控CPU等指標(biāo)達(dá)到臨界值后自動(dòng)增加容器)等。

怎么樣?是不是覺得很cool,你可能迫不及待的想去把k8s用起來了,可是你打開k8s官方文檔大段大段的英文和各種生疏的概念就把你整懵了。你跟著教程敲了一遍,一大堆yaml配置,全是命令行操作,可能你已經(jīng)被墻給干倒了(天朝ha);還有一堆概念,什么Pod, Deployment, ReplicaSet, Service都是些啥玩意。可能你花了大半天耐心的把文檔過了一遍,覺得這個(gè)東西根本落不了地啊,這一大堆配置和命令行,這誰頂?shù)米。琸8s這么先進(jìn)不應(yīng)該是可視化的點(diǎn)點(diǎn)就完事了嗎?我一開始天真的以為k8s dashboard能幫幫我,費(fèi)了點(diǎn)力氣把它裝好后,發(fā)現(xiàn)只有一些監(jiān)控?cái)?shù)據(jù)。

下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。其實(shí)你一開始不用了解k8s的各種概念,只需要看看別人是怎么用k8s的就行了(都9102年了,那些很潮的公司都已經(jīng)玩了很久了)。不是說學(xué)東西必須得打好基礎(chǔ)嗎?自頂向下是個(gè)什么鬼?拿學(xué)開車舉例,你開始只是在路上看到別人開車,很拉風(fēng)可撩妹,比兩輪的安全,不怕風(fēng)吹雨打的,教練我也要開車;你去報(bào)了駕校(看到這里你肯覺得我要忽悠你報(bào)培訓(xùn)班),你摸到了車看到別人是咋開的,了解了基本知識你就可以在訓(xùn)練場地慢慢蠕動(dòng)了(測試環(huán)境),你甚至不用了解交規(guī),更不用了解汽車的原理,這些后面可以慢慢補(bǔ)。補(bǔ)好基礎(chǔ)了你就可以上路,然后你可能需要了解汽車原理,改裝它優(yōu)化它,再練一練排水渠過彎的技巧,成為一代老司機(jī)。

回到正題,我們學(xué)k8s同樣可以先看看別人是咋用的,再去了解其中細(xì)節(jié),掌握它。咋看呢?一大部分公司還沒跟上潮流,這時(shí)我們可以借助開源和云服務(wù)。
首先我們的思路沒有問題,要便捷的使用k8s我們需要一個(gè)可視化管理平臺。
開源的有rancher、Qihoo360/wayne等,云服務(wù)阿里云、騰訊云、AWS都提供容器服務(wù)管理后臺。

這里就拿rancher開始吧,畢竟開源免費(fèi)。值得一提的是,阿里云等的容器服務(wù)按量積分,master可托管,弄一兩天低配node,一天也就幾塊。

在本地啟動(dòng)rancher容器:

sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher

打開https://127.0.0.1:8443平臺,可以看到cluster, node, namespace, member等功能。

下面我們需要準(zhǔn)備一個(gè)k8s cluster(集群),用minikube可以方便的部署一個(gè)本地集群。minikube是通過虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的virtualBox。啟動(dòng)很簡單,一個(gè)命令minikube start,困難的是墻,下面貼一下配置代理的腳本:

function ministart() {
    export HTTP_PROXY=http://192.168.99.1:1089
    export HTTPS_PROXY=http://192.168.99.1:1089
    export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24

    minikube start 
    --docker-env=HTTP_PROXY=$HTTP_PROXY 
    --docker-env=HTTPS_PROXY=$HTTPS_PROXY 
    --docker-env=NO_PROXY=$NO_PROXY 
    --registry-mirror=https://registry.docker-cn.com
}

注意一下這個(gè)ip,不能使用127.0.0.1,因?yàn)樘摂M機(jī)需要使用宿主的代理,虛擬機(jī)跟宿主機(jī)通訊是使用虛擬網(wǎng)卡創(chuàng)建的網(wǎng)段,默認(rèn)宿主的ip為192.168.99.1,虛擬機(jī)是192.168.99.100。你還得把你的梯子監(jiān)聽的地址改改,127.0.0.1->0.0.0.0,監(jiān)聽所有網(wǎng)卡。同樣rancher里的ip也應(yīng)使用192.168.99.1,這個(gè)ip必需是所有集群都能訪問到的,如果你是用docker自帶的k8s集群,你可以用ifconfig找一個(gè)無線網(wǎng)或有線網(wǎng)的ip,反正不能使用127.0.0.1。

minikube下載一些必需鏡像后,k8s集群就在虛擬機(jī)里啟動(dòng)了,可以使用minikube ssh登錄到虛擬機(jī)里探查一番。下面我們在rancher里引入集群:

集群引入了之后我們來部署我們第一個(gè)app,一個(gè)echo-server:

等了一會兒k8s把容器部署好了,上面配置了暴露隨機(jī)端口值是32192,我們訪問192.168.99.100:32192就能看的echo-sever返回的信息了。我們覺得一個(gè)pod不夠,點(diǎn)擊+號,k8s會幫我們做水平擴(kuò)容啟動(dòng)第二個(gè)pod,雖然minikube是但節(jié)點(diǎn)的,但是依靠容器的隔離特性,單節(jié)點(diǎn)照樣能部署多個(gè)相同應(yīng)用。

體驗(yàn)一下rancher的pipeline,集成了CICD功能。配置好代碼倉庫后run起來,會創(chuàng)建Jenkins等容器。等了好一會兒后,可以看到workloads里example-server部署好了。

文檔里有介紹pipeline的原理: https://rancher.com/docs/ranc...。rancher會自動(dòng)創(chuàng)建三個(gè)組件:

Jenkins 用了執(zhí)行pipeline

Docker Registry 一個(gè)內(nèi)部Docker Registry,用來存放pipeline build的鏡像,鏡像在pipeline生命周期后不會保留。如果需要在外部使用image,請配置外部倉庫。

Minio 對象存儲,用了存放日志文件

Docker Registry和Minio的數(shù)據(jù)持久化可以為其配置volume。

ok,下面自行探索一下rancher的各個(gè)頁面,有Workloads,Load blance,Service discory,pipeline這些部署常用的,還提供報(bào)警、日志、監(jiān)控、用戶權(quán)限等功能,這就是一個(gè)完善的k8s管理平臺了,到此你應(yīng)該了解k8s大概有哪些用處了。

下面你需要再把k8s官方文檔撿起來看一看,或者是一本系統(tǒng)介紹k8s的書籍,把你在rancher上用到的功能和k8s的概念對應(yīng)起來,現(xiàn)在你才能抓住哪些是重點(diǎn)。

一些概念:
pod:k8s最小調(diào)度單位,可以是一個(gè)或多個(gè)容器。

service:對內(nèi)或?qū)ν獗┞秌8s服務(wù)。

deployment:pods和replicaSets的控制器,通過deployment配置的規(guī)則來管理pods。

三個(gè)主要的命令行程序:
kubeadm:用了啟動(dòng)k8s集群。

kubelet:需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似agent。

kubectl:客戶端工具,用戶用它來給k8s集群發(fā)指令,類似ssh,可配置好秘鑰遠(yuǎn)程訪問,默認(rèn)配置是 ~/.kube/config。

一些常用的命令:

kubectl get all -A
kubectl get namespaces
kubectl get svc
kubectl get pods
kubectl get deployments hello-world

# 暴露服務(wù)
kubectl expose deployment hello-world --type=NodePort --name=example-service


# logs
kubectl -n cattle-system logs -l app=cattle-cluster-agent

# exec
# -c --container
kubectl exec -it pod-name -c container-name -- /bin/bash

更多細(xì)節(jié)日后再慢慢探索,下面總結(jié)一下:

k8s專注于容器部署這一塊,它不提供鏡像打包(CICD),鏡像儲存(registry),也沒有管理平臺,更沒有service mesh(服務(wù)通訊管控)。如果你要落地和完善,還有很多東西需要你去搞。那個(gè)rancher平臺看起來很美好,但是實(shí)際用起來問題挺多,更適合在其上二次開發(fā)。其實(shí)最靠譜的落地方案還是使用云服務(wù),用錢來解決問題,先小規(guī)模用起來,摸熟了再研究其他姿勢。

本文想表達(dá)的一個(gè)思想是:學(xué)習(xí)一個(gè)東西,你應(yīng)該先搞清楚why(為什么用?有哪些應(yīng)用場景?別人咋用的?),然后再研究how(怎么用),這樣才能抓住重點(diǎn),學(xué)起來事半功倍。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/33161.html

相關(guān)文章

  • 初試k8s通過rancher自頂向下學(xué)習(xí)kubernetes

    摘要:下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。是通過虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的。對內(nèi)或?qū)ν獗┞斗?wù)。和的控制器,通過配置的規(guī)則來管理。三個(gè)主要的命令行程序用了啟動(dòng)集群。需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似。 之前就玩過docker,但是一直不知道怎么把容器運(yùn)用到生產(chǎn)上。構(gòu)建一個(gè)docker鏡像,把他run起來很簡單;難的是容器的部署(CICD),容器的網(wǎng)絡(luò),數(shù)據(jù)持...

    tinyq 評論0 收藏0
  • 初試k8s通過rancher自頂向下學(xué)習(xí)kubernetes

    摘要:下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。是通過虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的。對內(nèi)或?qū)ν獗┞斗?wù)。和的控制器,通過配置的規(guī)則來管理。三個(gè)主要的命令行程序用了啟動(dòng)集群。需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似。 之前就玩過docker,但是一直不知道怎么把容器運(yùn)用到生產(chǎn)上。構(gòu)建一個(gè)docker鏡像,把他run起來很簡單;難的是容器的部署(CICD),容器的網(wǎng)絡(luò),數(shù)據(jù)持...

    jemygraw 評論0 收藏0
  • CNCF啟動(dòng)K8s軟件一致性項(xiàng)目,Rancher入選全球首批K8s認(rèn)證平臺

    摘要:于美國舊金山當(dāng)?shù)貢r(shí)間年月日宣布推出,并公布了首批通過認(rèn)證的個(gè)平臺的名單。此次認(rèn)證項(xiàng)目中得到認(rèn)證的產(chǎn)品與平臺確保具有一致性及可移植性,可確保完整的按照規(guī)定運(yùn)行,因此用戶可以獲得無縫且穩(wěn)定的體驗(yàn)。成為了首批獲得認(rèn)證的平臺之一。 CNCF于美國舊金山當(dāng)?shù)貢r(shí)間2017年11月13日宣布推出Certified Kubernetes Conformance Program,并公布了首批通過認(rèn)證的3...

    陳偉 評論0 收藏0
  • CNCF啟動(dòng)K8s軟件一致性項(xiàng)目,Rancher入選全球首批K8s認(rèn)證平臺

    摘要:于美國舊金山當(dāng)?shù)貢r(shí)間年月日宣布推出,并公布了首批通過認(rèn)證的個(gè)平臺的名單。此次認(rèn)證項(xiàng)目中得到認(rèn)證的產(chǎn)品與平臺確保具有一致性及可移植性,可確保完整的按照規(guī)定運(yùn)行,因此用戶可以獲得無縫且穩(wěn)定的體驗(yàn)。成為了首批獲得認(rèn)證的平臺之一。 CNCF于美國舊金山當(dāng)?shù)貢r(shí)間2017年11月13日宣布推出Certified Kubernetes Conformance Program,并公布了首批通過認(rèn)證的3...

    spacewander 評論0 收藏0
  • 春節(jié)不打烊!Rancher 2.0 里程碑版本發(fā)布:支持添加自定義節(jié)點(diǎn)!

    摘要:里程碑更新支持添加自定義節(jié)點(diǎn)此次更新之前的版本只支持和,而如今的最新版本,用戶可以在創(chuàng)建集群時(shí)添加了自定義節(jié)點(diǎn)了。連接成功后,將按照用戶指定的角色所指示的方式為該節(jié)點(diǎn)安裝相應(yīng)的組件。 Rancher是一個(gè)開源的全棧化企業(yè)級容器管理平臺,用戶在Rancher可視化界面上以點(diǎn)選的方式,即可一鍵完成所有容器基礎(chǔ)設(shè)施(網(wǎng)絡(luò)、存儲、負(fù)載均衡等)的對接與部署,確保容器在任何基礎(chǔ)架構(gòu)上(公私有云、虛...

    zilu 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<