kubernetes basic commands

1. pod

Pod是一組緊密關(guān)聯(lián)的容器集合殃恒,它們共享PID、IPC辱揭、Network和UTS namespace离唐,是Kubernetes調(diào)度的基本單位。Pod的設(shè)計(jì)理念是支持多個(gè)容器在一個(gè)Pod中共享網(wǎng)絡(luò)和文件系統(tǒng)问窃,可以通過(guò)進(jìn)程間通信和文件共享這種簡(jiǎn)單高效的方式組合完成服務(wù).

1.1 創(chuàng)建pod

# vim http.yaml

apiVersion: v1

kind: Pod

metadata:

? name: demo

spec:

? containers:

? - image: httpd

? ? name: httpd

? ? imagePullPolicy: Always

# kubectl create -f pod.yaml

1.2 查看pod

# kubectl get pods

#?kubectl describe pods

1.3 刪除pod

#?kubectl delete pod <pod-name>


2.?Replicaset

Replicaset在繼承Pod的所有特性的同時(shí), 它可以利用預(yù)先創(chuàng)建好的模板定義副本數(shù)量并自動(dòng)控制, 通過(guò)改變Pod副本數(shù)量實(shí)現(xiàn)Pod的擴(kuò)容和縮容.

2.1?創(chuàng)建Replicaset

# vi replicaset.yaml

apiVersion: apps/v1

kind: ReplicaSet

metadata:

? name: demo-rc

? labels:

? ? app: demo-rc

spec:

? replicas: 2

? selector:

? ? matchLabels:

? ? ? app: demo-rc

? template:

? ? metadata:

? ? ? labels:

? ? ? ? app: demo-rc

? ? spec:

? ? ? containers:

? ? ? - name: httpd

? ? ? ? image: httpd

? ? ? ? imagePullPolicy: Always

...

3.?Deployment

Deployment在繼承Pod和Replicaset的所有特性的同時(shí), 它可以實(shí)現(xiàn)對(duì)template模板進(jìn)行實(shí)時(shí)滾動(dòng)更新并具備我們線上的Application lifecycle的特性.

3.1 create

apiVersion: apps/v1

kind: Deployment

metadata:

? name: httpd-deployment

? labels:

? ? app: httpd-deployment

spec:

? replicas: 2

? selector:

? ? matchLabels:

? ? ? app: httpd-demo

? template:

? ? metadata:

? ? ? labels:

? ? ? ? app: httpd-demo

? ? spec:

? ? ? containers:

? ? ? - name: httpd

? ? ? ? image: httpd

? ? ? ? imagePullPolicy: Always

? ? ? ? ports:

? ? ? ? - containerPort: 80

? ? ? ? env:

? ? ? ? - name: VERSION

? ? ? ? ? value: "v1"

...

3.5?更新deployment

# kubectl edit -f deployment.yaml

通過(guò)此命令使當(dāng)前編輯結(jié)果生效.

# kubectl apply -f deployment.yaml

3.6?擴(kuò)容與縮容

可以修改replicas的賦值對(duì)deployment進(jìn)行擴(kuò)容與縮容

#??kubectl scale deployment/httpd-deployment --replicas=1

4.?Label

Label是attach到Pod的一對(duì)鍵/值對(duì)亥鬓,用來(lái)傳遞用戶定義的屬性。比如泡躯,你可能創(chuàng)建了一個(gè)"tier"和“app”標(biāo)簽贮竟,通過(guò)Label(tier=frontend, app=myapp)來(lái)標(biāo)記前端Pod容器,使用Label(tier=backend, app=myapp)標(biāo)記后臺(tái)Pod较剃。然后可以使用Selectors選擇帶有特定Label的Pod咕别,讓具體某一個(gè)Pod或者Deployment去使用某一個(gè)Service實(shí)現(xiàn)特定的網(wǎng)絡(luò)配置.

5.?Service

Service是應(yīng)用服務(wù)的抽象,通過(guò)labels為應(yīng)用提供負(fù)載均衡和服務(wù)發(fā)現(xiàn)写穴。匹配labels的Pod IP和端口列表組成endpoints惰拱,由kube-proxy負(fù)責(zé)將服務(wù)IP負(fù)載均衡到這些endpoints上。

每個(gè)Service都會(huì)自動(dòng)分配一個(gè)cluster IP(僅在集群內(nèi)部可訪問(wèn)的虛擬地址)和DNS名啊送,其他容器可以通過(guò)該地址或DNS來(lái)訪問(wèn)服務(wù)偿短,而不需要了解后端容器的運(yùn)行欣孤。

5.1?更改NodePort限制

Kubernetes默認(rèn)對(duì)外的NodePort限制范圍為30000-32767, 這里如果要使用一些常用的端口(80, 8080, 443)需將這個(gè)范圍放大.

#?vi /etc/kubernetes/manifests/kube-apiserver.yaml

在--service-cluster-ip-range與insecure-port間添加如下node port配置

- --service-cluster-ip-range=10.96.0.0/12

- --service-node-port-range=0-32767

- --insecure-port=0

重啟服務(wù)

# systemctl restart kubelet

5.2 創(chuàng)建service

# vi svc.yaml

apiVersion: v1

kind: Service

metadata:

? name: demo

spec:

? type: NodePort

? ports:

? ? - port: 80

? ? ? nodePort: 30050

? selector:

? ? app: httpd-demo

# kubectl create -f svc.yaml

其中,port是pod提供的端口號(hào)昔逗,所有符合selector要求的pod提供的端口號(hào)都是80.

而nodeport是service對(duì)外提供服務(wù)所暴露的端口號(hào)降传。

5.3 查看service?

# kubectl get svc demo

NAME? ? TYPE? ? ? ? CLUSTER-IP? ? ? ? ? ? EXTERNAL-IP? PORT(S)? ? ? ? ? AGE

demo? ? ? NodePort? 10.100.57.243? ? ? ? ? <none>? ? ? ? ? ? ?80:30050/TCP? 28m

# kubectl describe svc demo

Name: demo

Namespace:? ? ? ? ? ? ? ? default

Labels:? ? ? ? ? ? ? ? ?

Annotations:? ? ? ? ? ? ?

Selector:? ? ? ? ? ? ? ? app=httpd-demo

Type:? ? ? ? ? ? ? ? ? ? NodePort

IP:? ? ? ? ? ? ? ? ? ? ? 10.100.57.243

Port:? ? ? ? ? ? ? ? ? ? ? 80/TCP

TargetPort:? ? ? ? ? ? ? 80/TCP

NodePort:? ? ? ? ? ? ? ? ? 30050/TCP

Endpoints:? ? ? ? ? ? ? ? 10.244.0.3:80,10.244.1.5:80

Session Affinity:? ? ? ? None

External Traffic Policy:? Cluster

Events:? ? ? ? ? ? ? ? ?<none>

# kubectl get pod -o wide

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? READY? ? STATUS? ? RESTARTS? AGE? ? ? IP? ? ? ? ? NODE

demo? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1/1? ? ? Running? 0? ? ? ? ? 53m? ? ? 10.244.1.4? minion

httpd-deployment-5b749686c9-cfbkc? 1/1? ? ? Running? 0? ? ? ? ? 8m? ? ? ? 10.244.1.5? minion

httpd-deployment-5b749686c9-qjw7r? 1/1? ? ? Running? 0? ? ? ? ? 8m? ? ? ? 10.244.0.3? master

source-ip-app-8687dbf9f-kzb6h? ? ? 1/1? ? ? Running? 0? ? ? ? ? 58m? ? ? 10.244.1.3?

可以看到,service中的selector信息為app: httpd-demo勾怒。create service的時(shí)候婆排,會(huì)根據(jù)selector信息去匹配符合的pod,所有符合匹配的pod都會(huì)提供80端口笔链,通過(guò)service demo向外提供服務(wù)段只,統(tǒng)一以ip?10.100.57.243暴露30050端口。

可以通過(guò)# curl?10.100.57.243 訪問(wèn)到service鉴扫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赞枕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坪创,更是在濱河造成了極大的恐慌炕婶,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件误堡,死亡現(xiàn)場(chǎng)離奇詭異古话,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)锁施,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門陪踩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人悉抵,你說(shuō)我怎么就攤上這事肩狂。” “怎么了姥饰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵傻谁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我列粪,道長(zhǎng)审磁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任岂座,我火速辦了婚禮态蒂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘费什。我一直安慰自己钾恢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著瘩蚪,像睡著了一般泉懦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疹瘦,一...
    開(kāi)封第一講書(shū)人閱讀 49,046評(píng)論 1 285
  • 那天崩哩,我揣著相機(jī)與錄音,去河邊找鬼拱礁。 笑死琢锋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呢灶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼钉嘹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鸯乃!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起跋涣,我...
    開(kāi)封第一講書(shū)人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤缨睡,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后陈辱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體奖年,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年沛贪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了陋守。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡利赋,死狀恐怖水评,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情媚送,我是刑警寧澤中燥,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站塘偎,受9級(jí)特大地震影響疗涉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吟秩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一样勃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梢杭,春花似錦衬吆、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伦意。三九已至,卻和暖如春硼补,著一層夾襖步出監(jiān)牢的瞬間驮肉,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工已骇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留离钝,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓褪储,卻偏偏與公主長(zhǎng)得像卵渴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鲤竹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容