国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K8s-資源管理(二)

這篇具有很好參考價(jià)值的文章主要介紹了K8s-資源管理(二)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

2. 資源管理

2.1 資源管理介紹

在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è)功能。

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

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生

學(xué)習(xí)kubernetes的核心,就是學(xué)習(xí)如何對(duì)集群上的Pod、Pod控制器、Service、存儲(chǔ)等各種資源進(jìn)行操作

2.2 YAML語(yǔ)言介紹

YAML是一個(gè)類(lèi)似 XML、JSON 的標(biāo)記性語(yǔ)言。它強(qiáng)調(diào)以數(shù)據(jù)為中心,并不是以標(biāo)識(shí)語(yǔ)言為重點(diǎn)。因而YAML本身的定義比較簡(jiǎn)單,號(hào)稱(chēng)"一種人性化的數(shù)據(jù)格式語(yǔ)言"。

<agan>
    <age>15</age>
    <address>Wuhan</address>
</agan>
agan:
  age: 15
  address: Wuhan

YAML的語(yǔ)法比較簡(jiǎn)單,主要有下面幾個(gè):

  • 大小寫(xiě)敏感
  • 使用縮進(jìn)表示層級(jí)關(guān)系
  • 縮進(jìn)不允許使用tab,只允許空格( 低版本限制 )
  • 縮進(jìn)的空格數(shù)不重要,只要相同層級(jí)的元素左對(duì)齊即可
  • ‘#’ 表示注釋

YAML支持以下幾種數(shù)據(jù)類(lèi)型:

  • 純量:?jiǎn)蝹€(gè)的、不可再分的值
  • 對(duì)象:鍵值對(duì)的集合,又稱(chēng)為映射(mapping)/ 哈希(hash) / 字典(dictionary)
  • 數(shù)組:一組按次序排列的值,又稱(chēng)為序列(sequence) / 列表(list)
# 純量, 就是指的一個(gè)簡(jiǎn)單的值,字符串、布爾值、整數(shù)、浮點(diǎn)數(shù)、Null、時(shí)間、日期
# 1 布爾類(lèi)型
c1: true (或者True)
# 2 整型
c2: 234
# 3 浮點(diǎn)型
c3: 3.14
# 4 null類(lèi)型 
c4: ~  # 使用~表示null
# 5 日期類(lèi)型
c5: 2018-02-17    # 日期必須使用ISO 8601格式,即yyyy-MM-dd
# 6 時(shí)間類(lèi)型
c6: 2018-02-17T15:02:31+08:00  # 時(shí)間使用ISO 8601格式,時(shí)間和日期之間使用T連接,最后使用+代表時(shí)區(qū)
# 7 字符串類(lèi)型
c7: agan     # 簡(jiǎn)單寫(xiě)法,直接寫(xiě)值 , 如果字符串中間有特殊字符,必須使用雙引號(hào)或者單引號(hào)包裹 
c8: line1
    line2     # 字符串過(guò)多的情況可以拆成多行,每一行會(huì)被轉(zhuǎn)化成一個(gè)空格
# 對(duì)象
# 形式一(推薦):
agan:
  age: 15
  address: Wuhan
  
# 形式二(了解):
agan: {age: 15,address: Wuhan}
# 數(shù)組
# 形式一(推薦):
address:
  - 武昌
  - 江夏  
  
  
# 形式二(了解):
address: [武昌,江夏]

小提示:

1 書(shū)寫(xiě)yaml切記: 后面要加一個(gè)空格

2 如果需要將多段yaml配置放在一個(gè)文件中,中間要使用---分隔

3 下面是一個(gè)yaml轉(zhuǎn)json的網(wǎng)站,可以通過(guò)它驗(yàn)證yaml是否書(shū)寫(xiě)正確

https://www.json2yaml.com/convert-yaml-to-json

2.3 資源管理方式

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

    kubectl run nginx-pod --image=nginx:1.17.1 --port=80

  • 命令式對(duì)象配置:通過(guò)命令配置和配置文件去操作kubernetes資源

    kubectl create/patch -f nginx-pod.yaml

  • 聲明式對(duì)象配置:通過(guò)apply命令和配置文件去操作kubernetes資源

    kubectl apply -f nginx-pod.yaml

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

kubectl命令

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

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

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

type:指定資源類(lèi)型,比如 deployment、podservice

name:指定資源的名稱(chēng),名稱(chēng)大小寫(xiě)敏感

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

# 查看所有pod
kubectl get pod 
[root@k8s-master ~]# kubectl get pods
NAME                        READY   STATUS    RESTARTS   AGE
dep-nginx-bdf687f67-tfsnm   1/1     Running   0          42h
pod-apache                  1/1     Running   0          36m

# 查看某個(gè)pod
kubectl get pod pod_name
[root@k8s-master ~]# kubectl get pod pod-apache -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
pod-apache   1/1     Running   0          37m   10.244.2.8   k8s-node2   <none>           <none>
[root@k8s-master ~]# 

# 查看某個(gè)pod,以yaml格式展示結(jié)果
kubectl get pod pod_name -o yaml

資源類(lèi)型

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

kubectl api-resources

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


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

資源分類(lèi) 資源名稱(chēng) 縮寫(xiě) 資源作用
集群級(jí)別資源 nodes no 集群組成部分
namespaces ns 隔離Pod
pod資源 pods po 裝載容器
pod資源控制器 replicationcontrollers rc 控制pod資源
replicasets rs 控制pod資源
deployments deploy 控制pod資源
daemonsets ds 控制pod資源
jobs 控制pod資源
cronjobs cj 控制pod資源
horizontalpodautoscalers hpa 控制pod資源
statefulsets sts 控制pod資源
服務(wù)發(fā)現(xiàn)資源 services svc 統(tǒng)一pod對(duì)外接口
ingress ing 統(tǒng)一pod對(duì)外接口
存儲(chǔ)資源 volumeattachments 存儲(chǔ)
persistentvolumes pv 存儲(chǔ)
persistentvolumeclaims pvc 存儲(chǔ)
配置資源 configmaps cm 配置
secrets 配置

操作

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

kubectl --help  或者 kubectl --help | less

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

命令分類(lèi) 命令 翻譯 命令作用
基本命令 create 創(chuàng)建 創(chuàng)建一個(gè)資源
edit 編輯 編輯一個(gè)資源
get 獲取 獲取一個(gè)資源
patch 更新(補(bǔ)?。?/td> 更新一個(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í)命令 apply rc 通過(guò)文件對(duì)資源進(jìn)行配置
label 標(biāo)簽 更新資源上的標(biāo)簽
其他命令 cluster-info 集群信息 顯示集群信息
version 版本 顯示當(dāng)前Server和Client的版本

下面以一個(gè)namespace / pod的創(chuàng)建和刪除簡(jiǎn)單演示下命令的使用:

# 查看當(dāng)前有哪些 namespace 
[root@k8s-master ~]# kubectl get namespace
NAME              STATUS   AGE
default           Active   4d15h  // 如果你不指定使用哪個(gè)名稱(chēng)空間就會(huì)使用默認(rèn)的這個(gè)
kube-flannel      Active   3d1h
kube-node-lease   Active   4d15h
kube-public       Active   4d15h
kube-system       Active   4d15h
[root@k8s-master ~]# 

# 創(chuàng)建一個(gè)namespace 叫 cloudsino
[root@k8s-master ~]# kubectl create namespace cloudsino
namespace/cloudsino created

# 獲取namespace
[root@k8s-master ~]# kubectl get namespace
NAME              STATUS   AGE
cloudsino         Active   9s      # 這個(gè)是剛才創(chuàng)建的 cloudsino
default           Active   4d16h
kube-flannel      Active   3d1h
kube-node-lease   Active   4d16h
kube-public       Active   4d16h
kube-system       Active   4d16h

# 在此namespace下創(chuàng)建并運(yùn)行一個(gè)nginx的Pod、指定運(yùn)行在 cloudsino 中
[root@k8s-master ~]# kubectl run pod-name --image=nginx -n cloudsino //-n 表示指定使用哪個(gè)名稱(chēng)空間
pod/pod-name created
[root@k8s-master ~]# kubectl get pod   // 不指定,表示查看默認(rèn)的名稱(chēng)空間
NAME                     READY   STATUS    RESTARTS   AGE
httpd                    1/1     Running   0          52m
httpd-7bb6557549-q4kfs   1/1     Running   0          87m
[root@k8s-master ~]# kubectl get pod -n cloudsino  // 需要指定cloudsino
NAME   READY   STATUS    RESTARTS   AGE
pod-name    1/1     Running   0          28s


# 刪除指定的pod
[root@k8s-master ~]# kubectl delete pod pod -n cloudsino
pod "pod-name" deleted
[root@k8s-master ~]# kubectl get pod -n cloudsino
No resources found in cloudsino namespace.
[root@k8s-master ~]# 


# 刪除指定的namespace
[root@k8s-master ~]# kubectl delete namespace cloudsino
namespace "cloudsino" deleted
[root@k8s-master ~]# kubectl get namespace
NAME              STATUS   AGE
default           Active   4d16h
kube-flannel      Active   3d1h
kube-node-lease   Active   4d16h
kube-public       Active   4d16h
kube-system       Active   4d16h

# kubectl run httpd --image=httpd --port=80  // 自主式pod,刪除不會(huì)有接替的
# kubectl create deployment httpd --image=httpd // 這個(gè)是使用deployment類(lèi)型創(chuàng)建的
# kubectl expose deployment httpd --port=80 --type=NodePort  // 暴露端口號(hào)

[root@k8s-master ~]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
httpd                    1/1     Running   0          58m  # 自主式pod,刪除不會(huì)有接替的
httpd-7bb6557549-q4kfs   1/1     Running   0          93m  # 這個(gè)是使用deployment類(lèi)型創(chuàng)建的
[root@k8s-master ~]# kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
httpd   1/1     1            1           94m

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


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

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

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

[root@k8s-master ~]# mkdir inventory  // 創(chuàng)建目錄 inventory 存放yaml 文件
[root@k8s-master ~]# cd inventory/
[root@k8s-master inventory]# ls
[root@k8s-master inventory]# vi nginxpod.yaml
apiVersion: v1  // 版本是 V1
kind: Namespace  // 類(lèi)型是名稱(chēng)空間
metadata:
  name: dev  // 名稱(chēng)空間叫 dev

---

apiVersion: v1
kind: Pod   // 類(lèi)型是 Pod 類(lèi)型
metadata:
  name: nginxpod  // Pod 名字叫nginxpod
  namespace: dev  // 這個(gè)pod 跑在dev 名稱(chēng)空間里
spec:
  containers:
  - name: nginx-containers  // 這個(gè)pod 里面跑的容器叫 nginx-containers
    image: nginx:latest  // 用的鏡像是  nginx:latest 

下面的這些圖片是教怎么寫(xiě) .yaml 格式文件

創(chuàng)建 Pod 查找方式

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


創(chuàng)建控制器的查找方式

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


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

[root@k8s-master inventory]# pwd
/root/inventory
[root@k8s-master inventory]# kubectl create -f nginxpod.yaml 
namespace/dev created
pod/nginxpod created

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

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

[root@k8s-master inventory]# pwd
/root/inventory
[root@k8s-master inventory]# kubectl get -f nginxpod.yaml 
NAME            STATUS   AGE
namespace/dev   Active   29s

NAME           READY   STATUS    RESTARTS   AGE
pod/nginxpod   1/1     Running   0          29s
[root@k8s-master inventory]# kubectl get namespace
NAME              STATUS   AGE
default           Active   5d14h
dev               Active   48s    // 剛創(chuàng)建的 dev 名稱(chēng)空間
kube-flannel      Active   3d23h
kube-node-lease   Active   5d14h
kube-public       Active   5d14h
kube-system       Active   5d14h
[root@k8s-master inventory]# kubectl get -n dev pods // 查看所有在dev 的pod
NAME       READY   STATUS    RESTARTS   AGE
nginxpod   1/1     Running   0          69s
[root@k8s-master inventory]# kubectl get -n dev pod nginxpod // 指定查看哪個(gè)pod
NAME       READY   STATUS    RESTARTS   AGE
nginxpod   1/1     Running   0          76s
[root@k8s-master inventory]# 

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

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

[root@k8s-master inventory]# pwd
/root/inventory
[root@k8s-master inventory]# kubectl  delete -f nginxpod.yaml 
namespace "dev" deleted
pod "nginxpod" deleted

此時(shí)發(fā)現(xiàn)兩個(gè)資源對(duì)象被刪除了


總結(jié):
    命令式對(duì)象配置的方式操作資源,可以簡(jiǎn)單的認(rèn)為:命令  +  yaml配置文件(里面是命令需要的各種參數(shù))
2.3.3 聲明式對(duì)象配置

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

# 首先執(zhí)行一次kubectl apply -f yaml文件,發(fā)現(xiàn)創(chuàng)建了資源
[root@k8s-master inventory]# pwd
/root/inventory
[root@master ~]#  kubectl apply -f nginxpod.yaml
namespace/dev created
pod/nginxpod created

// 指定名稱(chēng)空間查看 Pod
[root@k8s-master inventory]# kubectl get pods -n dev
NAME       READY   STATUS    RESTARTS   AGE
nginxpod   1/1     Running   0          26s
[root@k8s-master inventory]# 

[root@k8s-master inventory]# cat nginxpod.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: dev

---

apiVersion: v1
kind: Pod
metadata:
  name: nginxpod
  namespace: dev
spec:
  containers:
  - name: nginx-containers
    image: nginx:latest


# 再次執(zhí)行一次kubectl apply -f yaml文件,發(fā)現(xiàn)說(shuō)資源沒(méi)有變動(dòng)
[root@k8s-master inventory]# pwd
/root/inventory
[root@master ~]#  kubectl apply -f nginxpod.yaml
namespace/dev unchanged
pod/nginxpod unchanged

[root@k8s-master inventory]# vim  nginxpod.yaml 
apiVersion: v1
kind: Namespace
metadata:
  name: dev

---

apiVersion: v1
kind: Pod
metadata:
  name: nginxpod
  namespace: dev
spec:
  containers:
  - name: nginx-containers
    image: nginx:latest

---

apiVersion: v1  // 在原先的基礎(chǔ)上新加一個(gè) Pod
kind: Pod  // 指定類(lèi)型:Pod
metadata:
  name: apache  // Pod 名字叫:apache
  namespace:  // 沒(méi)有指定用那個(gè)名稱(chēng)空間,默認(rèn)使用default
spec:
  containers:
  - name: httpd  // 這個(gè) pod 里面跑的容器叫 httpd
    image: httpd  // 用的鏡像是 httpd
[root@k8s-master inventory]# 

[root@k8s-master inventory]# kubectl apply -f nginxpod.yaml 
namespace/dev unchanged  // 已存在,所以沒(méi)有改變
pod/nginxpod unchanged   // 已存在,所以沒(méi)有改變
pod/apache created    // 還沒(méi)有存在所以創(chuàng)建
[root@k8s-master inventory]# kubectl get -n default pods
NAME                      READY   STATUS    RESTARTS   AGE
apache                    1/1     Running   0          2m51s
nginxs-64cdf86546-82dcc   1/1     Running   0          19h
[root@k8s-master inventory]# 
[root@k8s-master inventory]# kubectl get -n dev pods
NAME       READY   STATUS    RESTARTS   AGE
nginxpod   1/1     Running   0          10m
[root@k8s-master inventory]# 
總結(jié):
    其實(shí)聲明式對(duì)象配置就是使用apply描述一個(gè)資源最終的狀態(tài)(在yaml中定義狀態(tài))
    使用apply操作資源:
        如果資源不存在,就創(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  HOME/.kube   node1: HOME/  # 哪個(gè)普通用戶就放到哪個(gè)的對(duì)應(yīng)用戶里 

2.4. 模擬使用普通用戶來(lái)操作

使用k8s-node1來(lái)模擬

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
[tom@k8s-node1 ~]$ kubectl get nodes  // 普通用戶使用不了 kubectl 
error: error loading config file "/etc/kubernetes/admin.conf": open /etc/kubernetes/admin.conf: permission denied
# 需要設(shè)置下面的操作

[root@k8s-node1 ~]# useradd tom  // 創(chuàng)建 tom 用戶
[root@k8s-node1 ~]# id tom
uid=1000(tom) gid=1000(tom) groups=1000(tom)

[root@k8s-node1 ~]# su - tom  // 登錄 tom 用戶
[tom@k8s-node1 ~]$ mkdir -p $HOME/.kube
[tom@k8s-node1 ~]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .kube

# 使用 root 不然沒(méi)有權(quán)限
[root@k8s-node1 ~]# cp -i /etc/kubernetes/admin.conf ~tom/.kube/config 
[root@k8s-node1 ~]# chown -R tom.tom ~tom/.kube/

[tom@k8s-node1 ~]$ ll .kube/ -d
drwxrwxr-x 2 tom tom 20 Jan 10 10:04 .kube/
[tom@k8s-node1 ~]$ ll .kube/ 
total 8
-rw------- 1 tom tom 5637 Jan 10 10:04 config

[tom@k8s-node1 ~]$ echo $KUBECONFIG  // 因?yàn)橹笆褂霉芾韱T做的,所以需要把管理員做的那一步驟取消掉
/etc/kubernetes/admin.conf
[tom@k8s-node1 ~]$ export KUBECONFIG=
[tom@k8s-node1 ~]$ echo $KUBECONFIG

[tom@k8s-node1 ~]$ 

[tom@k8s-node1 ~]$ kubectl get nodes   // 設(shè)置完成之后就可以使用 kubectl 
NAME         STATUS   ROLES           AGE     VERSION
k8s-master   Ready    control-plane   5d16h   v1.26.0
k8s-node1    Ready    <none>          4d      v1.26.0
k8s-node2    Ready    <none>          3d23h   v1.26.0

使用推薦: 三種方式應(yīng)該怎么用 ?

創(chuàng)建/更新資源 使用聲明式對(duì)象配置 kubectl apply -f XXX.yaml

刪除資源 使用命令式對(duì)象配置 kubectl delete -f XXX.yaml

查詢資源 使用命令式對(duì)象管理 kubectl get(describe) 資源名稱(chēng)


2.5 kubectl 一些基本命令

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


nginx 的鏡像是跑在 主機(jī) k8s-node2 上的如果 k8s-node2 主機(jī)突然宕機(jī)后 k8s-node1 主機(jī)就會(huì)接替

模擬 k8s-node2 主機(jī)宕機(jī)后 k8s-node1 主機(jī)會(huì)不會(huì)接替

// 關(guān)閉 k8s-node2 主機(jī)
[root@k8s-node2 ~]# shutdown -h now 

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


2.6 使用個(gè)人的 docker 倉(cāng)庫(kù)的鏡像

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生


//  從我的docker 倉(cāng)庫(kù)拉取鏡像到本地來(lái)使用
[root@k8s-master ~]# kubectl create deployment httpd --image=tkl9639/httpd:v0.1
deployment.apps/httpd created
[root@k8s-master ~]# kubectl get deployment
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
httpd   0/1     1            0           22s
[root@k8s-master ~]# kubectl get pods
NAME                     READY   STATUS              RESTARTS   AGE
httpd-7bb6557549-q4kfs   0/1     ContainerCreating   0          28s
[root@k8s-master ~]# kubectl get pods -o wide
NAME                     READY   STATUS              RESTARTS   AGE   IP       NODE        NOMINATED NODE   READINESS GATES
httpd-7bb6557549-q4kfs   0/1     ContainerCreating   0          32s   <none>   k8s-node2   <none>           <none>
[root@k8s-master ~]# kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
httpd-7bb6557549-q4kfs   1/1     Running   0          82s   10.244.2.5   k8s-node2   <none>           <none>
[root@k8s-master ~]# kubectl get deployment -o wide
NAME   READY UP-TO-DATE  AVAILABLE AGE   CONTAINERS IMAGES               SELECTOR
httpd  1/1   1           1         8m40s httpd      tkl9639/httpd:v0.1   app=httpd

// 暴露端口
[root@k8s-master ~]# kubectl expose deployment httpd --port=80 --type=NodePort
service/httpd exposed
[root@k8s-master ~]# kubectl get pod,svc
NAME                         READY   STATUS    RESTARTS   AGE
pod/httpd-7bb6557549-q4kfs   1/1     Running   0          14m

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/httpd        NodePort    10.99.154.27   <none>        80:31073/TCP   18s
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP        4d14h
service/nginx        NodePort    10.99.77.8     <none>        80:30035/TCP   2d18h
[root@k8s-master ~]# 
[root@k8s-master ~]# curl 10.99.154.27  // 集群IP
<html><body><h1>It works!</h1></body></html>
[root@k8s-master ~]# 

K8s-資源管理(二),kubernetes,docker,kubernetes,容器,云原生文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-614146.html

到了這里,關(guān)于K8s-資源管理(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【K8S 】K8S配置資源管理

    【K8S 】K8S配置資源管理

    1、概念 用來(lái)保存密碼。token,敏感的K8S資源 這類(lèi)數(shù)據(jù)可以直接存放在鏡像中,但是放在Secret中可以更方便的控制,減少暴露的風(fēng)險(xiǎn) Secret:保存加密的信息 2、Secret類(lèi)型: docker-registry:存儲(chǔ)docker倉(cāng)庫(kù)的認(rèn)證信息,以及docker的組件認(rèn)證信息(私有) generic:是Secret的默認(rèn)模式,

    2024年01月17日
    瀏覽(23)
  • K8S資源管理之計(jì)算資源管理

    K8S資源管理之計(jì)算資源管理

    ????????以CPU為例,下圖顯示了未設(shè)置Limits與設(shè)置了Requests和Limits的CPU使用率的區(qū)別 ???????盡管Requests和Limits只能被設(shè)置到容器上,但是設(shè)置了Pod級(jí)別的Requests和Limits能大大提高管理Pod的便利性和靈活性,因此在Kubernetes中提供了對(duì)Pod級(jí)別的Requests和Limits的配置。對(duì)于CP

    2024年04月15日
    瀏覽(23)
  • k8s---配置資源管理

    k8s---配置資源管理

    目錄 內(nèi)容預(yù)知 secret資源配置 secert的幾種模式 pod如何來(lái)引用secret 陳述式創(chuàng)建secret 聲明式+base64編碼配置secret 將secret用vlumes的方式掛載到pod中 傳參的方式將環(huán)境變量導(dǎo)入pod 如何通過(guò)secret加密方式獲取倉(cāng)庫(kù)密碼 configmap的資源配置 陳述式創(chuàng)建configmap資源配置 聲明式配置configma

    2024年01月21日
    瀏覽(65)
  • k8s配置資源管理

    k8s配置資源管理

    Secret Configmap Secret :保存密碼,token,敏感的k8s資源 這類(lèi)數(shù)據(jù)可以存放在鏡像當(dāng)中,但是防止secret當(dāng)中可以更方便控制,減少暴露的風(fēng)險(xiǎn) 保存加密的信息 Docker-registry: 存儲(chǔ)docker倉(cāng)庫(kù)認(rèn)證信息,以及docker組件認(rèn)證成功(私有) Generic: 是secret的默認(rèn)模式,opaque base64加密編碼的

    2024年01月21日
    瀏覽(29)
  • K8s-資源管理(二)

    K8s-資源管理(二)

    2. 資源管理 2.1 資源管理介紹 在kubernetes中,所有的內(nèi)容都抽象為資源,用戶需要通過(guò)操作資源來(lái)管理kubernetes。 kubernetes的本質(zhì)上就是一個(gè)集群系統(tǒng),用戶可以在集群中部署各種服務(wù),所謂的部署服務(wù),其實(shí)就是在kubernetes集群中運(yùn)行一個(gè)個(gè)的容器,并將指定的程序跑在容器中

    2024年02月15日
    瀏覽(21)
  • K8S資源管理方式

    1.基礎(chǔ)命令操作 2.創(chuàng)建pod 3.查看資源狀態(tài) 4.查看pod中的容器日志 5.進(jìn)入pod中的容器 6.刪除pod資源 7.pod擴(kuò)容 8.項(xiàng)目生命周期管理(創(chuàng)建–發(fā)布–更新–回滾–刪除) 8.1創(chuàng)建service service類(lèi)型 service端口 8.2發(fā)布 8.3更新 8.4回滾 8.5刪除 如何獲取資源配置清單文件模板(yaml配置文件)

    2024年02月13日
    瀏覽(33)
  • k8s 資源管理方式

    k8s中資源管理方式可以劃分為下面的幾種:命令式對(duì)象管理、命令式對(duì)象配置、聲明式對(duì)象配置。 命令式對(duì)象管理 命令式對(duì)象管理:直接使用命令的方式來(lái)操作k8s資源, 這種方式操作簡(jiǎn)單,但是無(wú)法審計(jì)和追蹤。 命令式對(duì)象配置 通過(guò)命令和配置文件來(lái)操作k8s資源,這種方式

    2024年02月07日
    瀏覽(26)
  • k8s常用資源管理

    k8s常用資源管理

    目錄 Pod(容器組):Pod是Kubernetes中最小的部署單元,可以包含一個(gè)或多個(gè)容器。Pod提供了一種邏輯上的封裝,使得容器可以一起共享網(wǎng)絡(luò)和存儲(chǔ)資源 1、創(chuàng)建一個(gè)pod 2、pod管理 pod操作 目錄 創(chuàng)建Pod會(huì)很慢 Pod(容器組):Pod是Kubernetes中最小的部署單元,可以包含一個(gè)或多個(gè)容

    2024年02月13日
    瀏覽(51)
  • k8s- 配置資源管理

    配置資源管理 //Secret Secret 是用來(lái)保存密碼、token、密鑰等敏感數(shù)據(jù)的 k8s 資源,這類(lèi)數(shù)據(jù)雖然也可以存放在 Pod 或者鏡像中,但是放在 Secret 中是為了更方便的控制如何使用數(shù)據(jù),并減少暴露的風(fēng)險(xiǎn)。 Secret 有四種類(lèi)型:? ●kubernetes.io/service-account-token:由 Kubernetes 自動(dòng)創(chuàng)建,

    2024年02月16日
    瀏覽(29)
  • k8s的配置資源管理

    Secret用來(lái)保存密碼、token密鑰以及一些敏感的k8s資源。這類(lèi)數(shù)據(jù)雖然可以存放在鏡像當(dāng)中,但是放在secret當(dāng)中可以更方便控制。減少暴露的風(fēng)險(xiǎn)。 Secret的作用:保存加密的信息 docker-registry()主要用于存儲(chǔ)docker倉(cāng)庫(kù)的認(rèn)證信息,以及docker組件認(rèn)證信息。(私有) generic(jienairuike)是

    2024年01月17日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包