日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

K8S Learning(3)——资源管理

發(fā)布時(shí)間:2023/12/3 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 K8S Learning(3)——资源管理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、資源

在kubernetes中,所有的內(nèi)容都抽象為資源,用戶需要通過(guò)操作資源來(lái)管理kubernetes。

kubernetes的本質(zhì)上就是一個(gè)集群系統(tǒng),用戶可以在集群中部署各種服務(wù),所謂的部署服務(wù),其實(shí)就是在kubernetes集群中運(yùn)行一個(gè)個(gè)的容器,并將指定的程序跑在容器中。

kubernetes的最小管理單元是pod而不是容器,所以只能將容器放在Pod中,而kubernetes一般也不會(huì)直接管理Pod,而是通過(guò)Pod控制器來(lái)管理Pod的。

Pod可以提供服務(wù)之后,就要考慮如何訪問(wèn)Pod中服務(wù),kubernetes提供了Service資源實(shí)現(xiàn)這個(gè)功能。

如果Pod中程序的數(shù)據(jù)需要持久化,kubernetes還提供了各種存儲(chǔ)系統(tǒng)。

二、資源管理

  • 命令式對(duì)象管理:直接使用命令去操作kubernetes資源

    kubectl run tomcat-deployment --image=tomcat:jre8-openjdk-slim-buster --port=8080 -n mk
  • 命令式對(duì)象配置:通過(guò)命令配置和配置文件去操作kubernetes資源

    kubectl create/patch -f tomcat-pod.yaml
  • 聲明式對(duì)象配置:通過(guò)apply命令和配置文件去操作kubernetes資源

    kubectl apply -f tomcat-pod.yaml
類型操作對(duì)象適用環(huán)境優(yōu)點(diǎn)缺點(diǎn)
命令式對(duì)象管理k8s對(duì)象測(cè)試簡(jiǎn)單只能操作活動(dòng)對(duì)象,無(wú)法審計(jì)、跟蹤
命令式對(duì)象配置文件開(kāi)發(fā)可以審計(jì)、跟蹤項(xiàng)目大時(shí),配置文件多,操作麻煩
聲明式對(duì)象配置目錄開(kāi)發(fā)支持目錄操作

(1)命令式對(duì)象管理

kubectl命令

kubectl是kubernetes集群的命令行工具,通過(guò)它能夠?qū)罕旧磉M(jìn)行管理,并能夠在集群上進(jìn)行容器化應(yīng)用的安裝部署。

語(yǔ)法:

kubectl [command] [type] [name] [flags]

comand:指定要對(duì)資源執(zhí)行的操作,例如create、get、delete

type:指定資源類型,比如deployment、pod、service

name:指定資源的名稱,名稱大小寫敏感

flags:指定額外的可選參數(shù)

注:資源類型

kubernetes中所有的內(nèi)容都抽象為資源,可以通過(guò)下面的命令進(jìn)行查看:

kubectl api-resources

經(jīng)常使用的資源有下面這些:

資源分類資源名稱縮寫資源作用
集群級(jí)別資源nodesno集群組成部分
namespacesns隔離Pod
pod資源podspo裝載容器
pod資源控制器replicationcontrollersrc控制pod資源
replicasetsrs控制pod資源
deploymentsdeploy控制pod資源
daemonsetsds控制pod資源
jobs控制pod資源
cronjobscj控制pod資源
horizontalpodautoscalershpa控制pod資源
statefulsetssts控制pod資源
服務(wù)發(fā)現(xiàn)資源servicessvc統(tǒng)一pod對(duì)外接口
ingressing統(tǒng)一pod對(duì)外接口
存儲(chǔ)資源volumeattachments存儲(chǔ)
persistentvolumespv存儲(chǔ)
persistentvolumeclaimspvc存儲(chǔ)
配置資源configmapscm配置
secrets配置

操作命令

kubernetes允許對(duì)資源進(jìn)行多種操作,可以通過(guò)--help查看詳細(xì)的操作命令

kubectl --help

經(jīng)常使用的操作有下面這些:

命令分類命令翻譯命令作用
基本命令create創(chuàng)建創(chuàng)建一個(gè)資源
edit編輯編輯一個(gè)資源
get獲取獲取一個(gè)資源
patch更新更新一個(gè)資源
delete刪除刪除一個(gè)資源
explain解釋展示資源文檔
運(yùn)行和調(diào)試run運(yùn)行在集群中運(yùn)行一個(gè)指定的鏡像
expose暴露暴露資源為Service
describe描述顯示資源內(nèi)部信息
logs日志輸出容器在 pod 中的日志輸出容器在 pod 中的日志
attach纏繞進(jìn)入運(yùn)行中的容器進(jìn)入運(yùn)行中的容器
exec執(zhí)行容器中的一個(gè)命令執(zhí)行容器中的一個(gè)命令
cp復(fù)制在Pod內(nèi)外復(fù)制文件
rollout首次展示管理資源的發(fā)布
scale規(guī)模擴(kuò)(縮)容Pod的數(shù)量
autoscale自動(dòng)調(diào)整自動(dòng)調(diào)整Pod的數(shù)量
高級(jí)命令applyrc通過(guò)文件對(duì)資源進(jìn)行配置
label標(biāo)簽更新資源上的標(biāo)簽
其他命令cluster-info集群信息顯示集群信息
version版本顯示當(dāng)前Server和Client的版本

(2)命令式對(duì)象配置

命令式對(duì)象配置就是使用命令配合配置文件一起來(lái)操作kubernetes資源。

1) 創(chuàng)建一個(gè)tomact-pod.yaml,內(nèi)容如下:

apiVersion: v1 kind: Namespace metadata:name: mk ? --- ? apiVersion: v1 kind: Pod metadata:name: tomact-podnamespace: mk spec:containers:- name: tomcat-containerimage: tomcat:jre8-openjdk-slim-buster

2)執(zhí)行create命令,創(chuàng)建資源:

[root@master ~]# kubectl create -f tomact-pod.yaml namespace/mk created pod/tomact-pod created

此時(shí)創(chuàng)建了兩個(gè)資源對(duì)象,分別是namespace和pod

3)執(zhí)行g(shù)et命令,查看資源:

[root@master ~]# kubectl get -f tomact-pod.yaml NAME ? ? ? ? ? STATUS ? AGE namespace/mk ? Active ? 34s ? NAME ? ? ? ? ? READY ? STATUS ? RESTARTS ? AGE pod/tomact-pod ? ?1/1 ? ? Running ? 0 ? ? ? ?33s

這樣就顯示了兩個(gè)資源對(duì)象的信息

4)執(zhí)行delete命令,刪除資源:

[root@master ~]# kubectl delete -f tomact-pod.yaml namespace "mk" deleted pod "tomact-pod" deleted

此時(shí)兩個(gè)資源對(duì)象被刪除了

命令式對(duì)象配置的方式操作資源,可以理解為:命令 ?+ ?yaml配置文件

(3)聲明式對(duì)象配置

聲明式對(duì)象配置跟命令式對(duì)象配置很相似,但是它只有一個(gè)命令apply。

# 首先執(zhí)行一次kubectl apply -f yaml文件,創(chuàng)建資源 [root@master ~]# kubectl apply -f tomact-pod.yaml namespace/mk created pod/tomact-pod created ? # 再次執(zhí)行一次kubectl apply -f yaml文件,資源更新 [root@master ~]# kubectl apply -f tomact-pod.yaml namespace/mk unchanged pod/tomact-pod unchangedapply操作資源:如果資源不存在,就創(chuàng)建,相當(dāng)于 kubectl create如果資源已存在,就更新,相當(dāng)于 kubectl patch

擴(kuò)展:

kubectl可以在node節(jié)點(diǎn)上運(yùn)行

kubectl的運(yùn)行是需要進(jìn)行配置的,它的配置文件是$HOME/.kube,如果想要在node節(jié)點(diǎn)運(yùn)行此命令,需要將master上的.kube文件復(fù)制到node節(jié)點(diǎn)上,即在master節(jié)點(diǎn)上執(zhí)行下面操作:

scp ?-r ~/.kube ? node1: ~/

總結(jié)

以上是生活随笔為你收集整理的K8S Learning(3)——资源管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。