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

容器編排學(xué)習(xí)(一)k8s集群管理

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

一? Kubernetes?

1? 概述

就在Docker容器技術(shù)被炒得熱火朝天之時(shí),大家發(fā)現(xiàn),如果想要將Docker應(yīng)用于具體的業(yè)務(wù)實(shí)現(xiàn),是存在困難的一一編排、管理和調(diào)度等各個(gè)方面,都不容易。于是,人們迫切需要一套管理系統(tǒng),對(duì)Docker及容器進(jìn)行更高級(jí)更靈活的管理就在這個(gè)時(shí)候,kubernetes出現(xiàn)了

kubernetes的名字來(lái)自希臘語(yǔ),意思是舵手或領(lǐng)航員k8s是將k和s之間的8個(gè)字母ubernete替換為8的縮寫(xiě)

k8s的創(chuàng)造者,是眾人皆知的行業(yè)巨頭一Google。k8s并不是一件全新的發(fā)明,他是Google10多年大規(guī)模容器管理技術(shù)Borg的開(kāi)源版本。2014年6月k8s由Google公司正式公布出來(lái)并宣布開(kāi)源

k8s 是容器集群管理系統(tǒng),是一個(gè)開(kāi)源的平臺(tái),可以實(shí)現(xiàn)容器集群的自動(dòng)化部署、自動(dòng)擴(kuò)縮容、自維護(hù)等功能

2? 核心架構(gòu)

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

master (管理節(jié)點(diǎn))

  • 提供集群的控制
  • 對(duì)集群進(jìn)行全局決策
  • 檢測(cè)和響應(yīng)集群事件

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

核心組件

API Server?

  • 是整個(gè)系統(tǒng)的對(duì)外接口,供客戶(hù)端和其它組件調(diào)用
  • 后端元數(shù)據(jù)存儲(chǔ)于etcd中(鍵值數(shù)據(jù)庫(kù))

Scheduler

  • 負(fù)責(zé)對(duì)集群內(nèi)部的資源進(jìn)行分配和調(diào)度

ControllerManager

  • 負(fù)責(zé)管理控制器,相當(dāng)于大總管

etcd

  • 存儲(chǔ)kubernetes在運(yùn)行過(guò)程中產(chǎn)生的所有元數(shù)據(jù)

服務(wù)端口

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

軟件工具包

kubeadm:集群配置工具

kubelet:管理pod,在集群中的每個(gè)節(jié)點(diǎn)上啟動(dòng)

kubectl:用來(lái)與集群通信的命令行工具

contained:容器管理軟件(Runtime)

ipvsadm:集群管理工具

iproute-tc:網(wǎng)絡(luò)流量管理工具

node? ? ? (計(jì)算節(jié)點(diǎn))

  • 運(yùn)行容器的實(shí)際節(jié)點(diǎn)
  • 提供運(yùn)行環(huán)境
  • 在多個(gè)節(jié)點(diǎn)上運(yùn)行
  • 水平擴(kuò)展

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

Node核心組件

Kubelet

  • 負(fù)責(zé)監(jiān)視Pod、包括創(chuàng)建、修改、刪除等

Kube-proxy

  • 主要負(fù)責(zé)為Pod對(duì)象提供代理
  • 實(shí)現(xiàn)service的通信與負(fù)載均衡

Runtime

  • 容器管理(contained )

image? (鏡像倉(cāng)庫(kù))

  • 存儲(chǔ)鏡像
  • 為節(jié)點(diǎn)提供鏡像支持

倉(cāng)庫(kù)組件:Registry 或 Harbor

二? calico

1? 概述

在虛擬化平臺(tái)中,比如 OpenStack、Docker 等都需要實(shí)現(xiàn)workloads 之間互連,但同時(shí)也需要對(duì)容器做隔離控制,設(shè)置訪(fǎng)問(wèn)策略,calico 就可以解決以上所有問(wèn)題

calico 可以讓不同節(jié)點(diǎn)上的容器實(shí)現(xiàn)互聯(lián)互通,同時(shí)也可以設(shè)置訪(fǎng)問(wèn)策略,它是一種容器之間網(wǎng)絡(luò)互通的解決方案

2? 優(yōu)勢(shì)

更節(jié)約資源:Calico 使用的三層路由方法,抑制二層廣播減少了資源開(kāi)銷(xiāo),并且具有可擴(kuò)展性。

更容易管理:因?yàn)闆](méi)有隧道,意味著 workloads 之間路徑更短更簡(jiǎn)單,配置更少,更容易管理

更少的依賴(lài): Calico 僅依賴(lài)三層路由可達(dá)

適配性廣:較少的依賴(lài)性使它能適配所有 VM、Container、白盒或者混合環(huán)境場(chǎng)景。

三? kubeadm

常用選項(xiàng)

命令選項(xiàng) 命令說(shuō)明
help 命令幫助信息
version 版本信息
config 鏡像管理命令
init 集群初始化命令
reset 還原、刪除集群配置
join 計(jì)算節(jié)點(diǎn)加入集群
token token憑據(jù)管理

四? 集群管理命令

kubectl 是用于控制 Kubernetes 集群的命令行工具

1? 語(yǔ)法格式

kubectl [command] [TYPE] [NAME] [flags]

command:子命令,如create,get,describe,delete

type:資源類(lèi)型,可以表示為單數(shù),復(fù)數(shù)或縮寫(xiě)形式

name:資源名稱(chēng),如果省略,則顯示所有資源信息

flags:指定可選標(biāo)識(shí)或附加的參數(shù)

2? 集群信息管理命令

子命令 說(shuō)明 備注
help 用于查看命令及子命令的幫助信息
cluster-info 顯示集群的相關(guān)配置信息
version 查看服務(wù)器及客戶(hù)端的版本信息
api-resources 查看當(dāng)前服務(wù)器上所有的資源對(duì)象
api-versions 查看當(dāng)前服務(wù)器上所有資源對(duì)象的版本
config 管理當(dāng)前節(jié)點(diǎn)上kubeconfig 的認(rèn)證信息

help

# 查看幫助命令信息
[root@master ~]# kubectl help version
Print the client and server version information for the current context.

Examples:
  # Print the client and server versions for the current context
  kubectl version
... ...

cluster-info

# 查看集群狀態(tài)信息
[root@master ~]# kubectl cluster-info 
Kubernetes control plane is running at https://192.168.1.50:6443
CoreDNS is running at https://192.168.1.50:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

version

# 查看服務(wù)端與客戶(hù)端版本信息
[root@master ~]# kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:58:30Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.0", GitCommit:"b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d", GitTreeState:"clean", BuildDate:"2022-12-08T19:51:45Z", GoVersion:"go1.19.4", Compiler:"gc", Platform:"linux/amd64"}

api-resources

# 查看資源對(duì)象類(lèi)型
[root@master ~]# kubectl api-resources 
NAME             SHORTNAMES     APIVERSION      NAMESPACED      KIND
bindings                        v1              true            Binding
endpoints        ep             v1              true            Endpoints
events           ev             v1              true            Event
... ...

api-versions

# 查看資源對(duì)象版本
[root@master ~]# kubectl api-versions 
admissionregistration.k8s.io/v1
apiextensions.k8s.io/v1
apiregistration.k8s.io/v1
apps/v1
... ...

config

# 查看當(dāng)前認(rèn)證使用的用戶(hù)及證書(shū)
[root@master ~]# kubectl config get-contexts 
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   
# 使用 view 查看詳細(xì)配置
[root@master ~]# kubectl config view 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://192.168.1.50:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

主機(jī)管理授權(quán)

[root@harbor ~]# vim /etc/hosts
192.168.1.30    harbor
192.168.1.50    master
192.168.1.51    node-0001
192.168.1.52    node-0002
192.168.1.53    node-0003
192.168.1.54    node-0004
192.168.1.55    node-0005
[root@harbor ~]# dnf install -y kubectl
[root@harbor ~]# mkdir -p $HOME/.kube
[root@harbor ~]# rsync -av master:/etc/kubernetes/admin.conf $HOME/.kube/config
[root@harbor ~]# chown $(id -u):$(id -g) $HOME/.kube/config
[root@harbor ~]# kubectl get nodes
NAME        STATUS   ROLES           AGE   VERSION
master      Ready    control-plane   24h   v1.26.0
node-0001   Ready    <none>          22h   v1.26.0
node-0002   Ready    <none>          22h   v1.26.0
node-0003   Ready    <none>          22h   v1.26.0
node-0004   Ready    <none>          22h   v1.26.0
node-0005   Ready    <none>          22h   v1.26.0

五? Pod

1? 概述

Pod 就像是豌豆英一樣,它由一個(gè)或者多個(gè)容器組成

Pod 是Kubernetes中最小的管理元素

Pod 是一個(gè)服務(wù)的多個(gè)進(jìn)程的聚合單位

安同一個(gè) Pod共享網(wǎng)絡(luò)IP及權(quán)限

同一個(gè) Pod 共享主機(jī)名稱(chēng)

同一個(gè) Pod 共享存儲(chǔ)設(shè)備

2? 創(chuàng)建過(guò)程

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

為什么要使用Pod?

  • 服務(wù)之間有相關(guān)性
  • 啟動(dòng)容器的時(shí)候需要初始化或進(jìn)行相關(guān)配置

3? 生命周期

Pod 對(duì)象自從創(chuàng)建開(kāi)始至終止的時(shí)間范圍稱(chēng)為其生命周期,在這段時(shí)間中Pod 處在多種不同的狀態(tài),并執(zhí)行相關(guān)操作

創(chuàng)建主容器為必需的操作,其他為可選操作(初始化容器啟動(dòng)后鉤子、存活性探測(cè)、就緒性探測(cè)以及終止前鉤子等

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

4? 相位狀態(tài)

?Pod的status字段是一個(gè)PodStatus的對(duì)象,Pod對(duì)象總是應(yīng)該處于其生命進(jìn)程中以下幾個(gè)相位 (phase) 之一

Pending Pod 創(chuàng)建過(guò)程中,但它尚未被調(diào)度完成
Running Pod中所有容器都已經(jīng)被創(chuàng)建成功
Completed Pod 所有容器都已經(jīng)成功終止,并不會(huì)被重啟
Failed Pod中的所有容器中至少有一個(gè)容器退出是非0狀態(tài)
Unknown 無(wú)法正常獲取到Pod對(duì)象的狀態(tài)信息

容器編排學(xué)習(xí)(一)k8s集群管理,Kubernetes 容器編排學(xué)習(xí),kubernetes,linux,服務(wù)器,運(yùn)維,容器,云原生,學(xué)習(xí)

3? Pod核心管理命令(一)?

子命令 說(shuō)明 備注
run/create 創(chuàng)建資源對(duì)象 可輸出資源文件模板
get 查看資源對(duì)象的狀態(tài)信息 常用參數(shù): -o 顯示格式
describe 查詢(xún)資源對(duì)象的屬性信息
logs 查看容器的報(bào)錯(cuò)信息 常用參數(shù): -c 容器名稱(chēng)

run?

# 創(chuàng)建 Pod
[root@master ~]# kubectl run myweb --image=myos:nginx
pod/myweb created

# 查詢(xún)資源對(duì)象
[root@master ~]# kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP           NODE
myweb   1/1     Running   0          3s    10.244.1.3   node-0001

[root@master ~]# curl http://10.244.1.3
Nginx is running !

get

語(yǔ)法格式:kubectl? get? 資源類(lèi)型? [資源名稱(chēng)]? [選項(xiàng)/參數(shù)]

常用參數(shù):

????????-o name? ? ? ?只顯示名字

? ? ? ? -o wide? ? ? ? ?顯示更加的詳細(xì)信息

? ? ? ? -o yaml? ? ? ? ?以 Yaml 語(yǔ)法格式顯示資源對(duì)象

? ? ? ? -o json? ? ? ? ??以 json??語(yǔ)法格式顯示資源對(duì)象

# 查看 Pod 資源對(duì)象
[root@master ~]# kubectl get pods
NAME     READY   STATUS    RESTARTS   AGE
myweb    1/1     Running   0          10m
# 只查看資源對(duì)象的名字
[root@master ~]# kubectl get pods -o name
pod/myweb
# 查看資源對(duì)象運(yùn)行節(jié)點(diǎn)的信息
[root@master ~]# kubectl get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myweb    1/1     Running   0          10m   10.244.1.3   node-0001
# 查看資源對(duì)象詳細(xì)信息,Yaml 格式
[root@master ~]# kubectl get pod myweb -o yaml
apiVersion: v1
kind: Pod
metadata:
  name: myweb
... ...
# 查看名稱(chēng)空間
[root@master ~]# kubectl get namespaces 
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h

# 查看 kube-system 名稱(chēng)空間中的 Pod 信息
[root@master ~]# kubectl -n kube-system get pods
NAME                             READY   STATUS    RESTARTS      AGE
etcd-master                      1/1     Running   0             39h
kube-apiserver-master            1/1     Running   0             39h
kube-controller-manager-master   1/1     Running   0             39h
kube-scheduler-master            1/1     Running   0             39h
... ...
create

系統(tǒng)命名空間

default 默認(rèn)的命名空間,不聲明命名空間的Pod都在這里

kube-node-lease 為高可用提供心跳監(jiān)視的命名空間

kube-public 公共數(shù)據(jù),所有用戶(hù)都可以讀取它

kube-system 系統(tǒng)服務(wù)對(duì)象所使用的命名空間

注意:k8s 系統(tǒng)核心服務(wù)都運(yùn)行在 kube-system 名稱(chēng)空間中

語(yǔ)法格式:kubectl create <資源對(duì)象>? [選項(xiàng)/參數(shù)]

# 創(chuàng)建名稱(chēng)空間資源對(duì)象
[root@master ~]# kubectl create namespace work
namespace/work created

# 查看名稱(chēng)空間
[root@master ~]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   39h
kube-node-lease   Active   39h
kube-public       Active   39h
kube-system       Active   39h
work              Active   11s
run

語(yǔ)法格式:kubectl run pod名稱(chēng)? [選項(xiàng)/參數(shù)]

# 創(chuàng)建簡(jiǎn)單 Pod 資源對(duì)象
[root@master ~]# kubectl -n work run myhttp --image=myos:httpd
pod/myhttp created

# 查詢(xún)資源對(duì)象
[root@master ~]# kubectl -n work get pods -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP           NODE
myhttp   1/1     Running   0          3s    10.244.2.2   node-0002

# 訪(fǎng)問(wèn)驗(yàn)證
[root@master ~]# curl http://10.244.2.2
Welcome to The Apache.
describe

語(yǔ)法格式:kubectl describe 資源類(lèi)型?[資源名稱(chēng)]? [選項(xiàng)/參數(shù)]

Events 下是事務(wù)日志,常用于排錯(cuò)

# 查看資源對(duì)象的屬性信息
[root@master ~]# kubectl describe pod myweb
Name:             myweb
Namespace:        default
Priority:         0
Service Account:  default
Node:             node-0001/192.168.1.51
... ...
Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  16m   default-scheduler  Successfully assigned default/myweb to node-0001
  Normal  Pulled     16m   kubelet            Container image "myos:nginx" already present on machine
  Normal  Created    16m   kubelet            Created container myweb
  Normal  Started    16m   kubelet            Started container myweb

# 查看 work 名稱(chēng)空間下的 pod 信息
[root@master ~]# kubectl -n work describe pod myhttp
Name:             myhttp
Namespace:        work
Priority:         0
Service Account:  default
Node:             node-0002/192.168.1.52
... ...
logs

語(yǔ)法格式:kubectl logs Pod名稱(chēng)??[選項(xiàng)/參數(shù)]

# 訪(fǎng)問(wèn)服務(wù),并查看日志
[root@master ~]# curl http://10.244.1.3/info.php
[root@master ~]# curl http://10.244.2.2/info.php
... ...
# 查看 myweb 日志
[root@master ~]# kubectl logs myweb 
2022/11/12 18:28:54 [error] 7#0: *2 open() "/usr/local/nginx/html/info.php" failed (2: No such file or directory), client: 10.244.0.0, server: localhost, request: "GET /info.php HTTP/1.1", host: "10.244.2.12"
# 查看 myhttp 日志
[root@master ~]# kubectl -n work logs myhttp
[root@master ~]# 

排錯(cuò)三兄弟

kubectl get、kubectl describe、kubectl logs?

4? Pod核心管理命令(二)

子命令 說(shuō)明 備注
exec 在某一個(gè)容器內(nèi)執(zhí)行特定的命令 可選參數(shù): -c 容器名稱(chēng)
cp 在容器和宿主機(jī)之間拷貝文件或目錄 可選參數(shù): -c 容器名稱(chēng)
delete 刪除資源對(duì)象 可選參數(shù): -l 標(biāo)簽
exec

語(yǔ)法格式:kubectl exec? [選項(xiàng)/參數(shù)]??Pod名稱(chēng) --操作命令

常用參數(shù):-it 分配交互式終端

# 在容器內(nèi)執(zhí)行命令
[root@master ~]# kubectl exec myweb -- ls 
50x.html
index.html
[root@master ~]# kubectl exec -it myweb -- /bin/bash
[root@myweb html]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.244.1.3  netmask 255.255.255.0  broadcast 10.244.2.255
        ether 3a:32:78:59:ed:25  txqueuelen 0  (Ethernet)
... ...
cp

語(yǔ)法格式:kubectl cp [選項(xiàng)/參數(shù)] 原文件 目標(biāo)文件

路徑格式:[Pod名稱(chēng):絕對(duì)路徑]

# 與容器進(jìn)行文件或目錄傳輸
[root@master ~]# kubectl cp myweb:/etc/yum.repos.d /root/aaa
tar: Removing leading `/' from member names
[root@master ~]# tree /root/aaa
/root/aaa
├── local.repo
├── Rocky-AppStream.repo
├── Rocky-BaseOS.repo
└── Rocky-Extras.repo

0 directories, 4 files
[root@master ~]# kubectl -n work cp /etc/passwd myhttp:/root/mima
[root@master ~]# kubectl -n exec myweb -- ls /root/
mima
delete

集群中所有資源均可使用 delete 命令刪除

語(yǔ)法格式:kubectl delete [選項(xiàng)/參數(shù)] 資源類(lèi)型 資源名稱(chēng)

# 刪除資源對(duì)象
[root@master ~]# kubectl delete pods myweb 
pod "myweb" deleted

# 刪除 work 名稱(chēng)空間下所有 Pod 對(duì)象
[root@master ~]# kubectl -n work delete pods --all
pod "myhttp" deleted

# 刪除名稱(chēng)空間
[root@master ~]# kubectl delete namespaces work 
namespace "work" deleted

六? 資源對(duì)象文件

1? 概述

k8s中把可以創(chuàng)建或配置的應(yīng)用和服務(wù)稱(chēng)為資源對(duì)象。Kubernetes 對(duì)象是“目標(biāo)性記錄”,使用這些對(duì)象去表示整個(gè)集群的狀態(tài)。我們?cè)诩褐袆?chuàng)建的 Pod、負(fù)載均衡、存儲(chǔ)、網(wǎng)絡(luò)服務(wù)等等都是資源對(duì)象,創(chuàng)建 Kubernetes 對(duì)象時(shí),必須提供資源對(duì)象的一些基本信息(例如:資源的對(duì)象的名字),以及描述描述該對(duì)象的期望狀態(tài)特征(規(guī)約),如果我們?cè)谖募惺褂?Yaml 的語(yǔ)法格式描述了上面的信息,這個(gè)文件就是資源對(duì)象文件

為什么要使用資源對(duì)象文件?

  • 命令無(wú)法持久化,沒(méi)有歷史記錄,不方便重現(xiàn)
  • 服務(wù)眾多,多個(gè)容器之間有關(guān)聯(lián)性,管理不方便
  • 很多高級(jí)的復(fù)雜的功能靠簡(jiǎn)單的命令方式無(wú)法實(shí)現(xiàn),這些都需要使用資源文件描述

2? 作用

可以創(chuàng)建、刪除、變更、管理資源對(duì)象

3? 創(chuàng)建

簡(jiǎn)單資源對(duì)象可以使用“kubectI”直接創(chuàng)建

高級(jí)資源對(duì)象需要使用“資源對(duì)象文件”創(chuàng)建

4? 最簡(jiǎn)單的資源對(duì)象文件

[root@master ~]# vim myweb.yaml
---                      # Yaml文件起始標(biāo)志
kind: Pod                # 當(dāng)前創(chuàng)建資源的類(lèi)型
apiVersion: v1           # 當(dāng)前資源對(duì)應(yīng)的版本
metadata:                # 屬性信息,元數(shù)據(jù)
  name: myweb            # 屬性信息,資源的名稱(chēng)
spec:                    # 資源的特定描述
  containers:            # 容器資源的特定描述
  - name: webserver      # 容器的名稱(chēng)
    image: myos:nginx    # 啟動(dòng)容器使用的鏡像
status: {}               # 資源狀態(tài),運(yùn)行后自動(dòng)生成

5? 靜態(tài)Pod

靜態(tài) Pod 是由 kubelet 守護(hù)進(jìn)程直接管理的 Pod,不需要AP|服務(wù)器監(jiān)管。與由控制面管理的 Pod 不同

kubelet 監(jiān)視每個(gè)靜態(tài) Pod(在它崩潰之后重新啟動(dòng))

靜態(tài) Pod 永遠(yuǎn)都會(huì)綁定到一個(gè)指定節(jié)點(diǎn)上的 Kubelet

靜態(tài)Pod的spec不能引用其他 API對(duì)象

靜態(tài) Pod 配置路徑: /var/lib/kubelet/config.yaml

6? 資源文件管理命令

子命令 說(shuō)明 備注
create 創(chuàng)建文件中定義的資源 支持指令式和資源對(duì)象文件配置
apply 創(chuàng)建(更新)文件中定義的資源 只支持資源對(duì)象文件(聲明式)
delete 刪除文件中定義的資源 支持指令式和資源對(duì)象文件配置

注意:刪除Pod后kubelet會(huì)自動(dòng)重建Pod,刪除資源文件才能徹底刪除Pod

列如:rm -f /etc/kubernetes/manifests/myweb.yaml

命令語(yǔ)法:kubectl? [create|apply|delete]? -f? 資源文件名稱(chēng).yaml文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-699147.html

create
# 創(chuàng)建資源對(duì)象
[root@master ~]# kubectl create -f myweb.yaml 
pod/myweb created
# 不能更新,重復(fù)執(zhí)行會(huì)報(bào)錯(cuò)
[root@master ~]# kubectl create -f myweb.yaml 
Error from server (AlreadyExists): error when creating "myweb.yaml": pods "myweb" already exists
delete
# 使用資源對(duì)象文件刪除
[root@master ~]# kubectl delete -f myhttp.yaml
pod "myhttp" deleted
[root@master ~]# kubectl get pods
No resources found in default namespace.
apply
# 創(chuàng)建資源對(duì)象
[root@master ~]# kubectl apply -f myweb.yaml 
pod/myweb created
# 更新資源對(duì)象
[root@master ~]# kubectl apply -f myweb.yaml 
pod/myweb configured
# 刪除資源對(duì)象
[root@master ~]# kubectl delete -f myweb.yaml 
pod "myweb" deleted

# 拓展提高
# 與 kubectl apply -f myweb.yaml 功能相同
[root@master ~]# cat myweb.yaml |kubectl apply -f - 

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

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(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(Kubernetes)學(xué)習(xí)(二):k8s集群搭建

    K8s(Kubernetes)學(xué)習(xí)(二):k8s集群搭建

    minikube 只是一個(gè) K8S 集群模擬器,只有一個(gè)節(jié)點(diǎn)的集群,只為測(cè)試用,master 和 worker 都在一起。 裸機(jī)安裝 至少需要兩臺(tái)機(jī)器(主節(jié)點(diǎn)、工作節(jié)點(diǎn)個(gè)一臺(tái)),需要自己安裝 Kubernetes 組件,配置會(huì)稍微麻煩點(diǎn)。 缺點(diǎn):配置麻煩,缺少生態(tài)支持,例如負(fù)載均衡器、云存儲(chǔ)。 直接用

    2024年02月09日
    瀏覽(37)
  • yum部署kubernetes(k8s)集群、k8s常用資源管理

    目錄 一、環(huán)境搭建 1、準(zhǔn)備環(huán)境 1)計(jì)算機(jī)說(shuō)明,建議系統(tǒng)版本7.4或者7.6 2)修改所有主機(jī)的計(jì)算機(jī)名設(shè)置host文件 ?2、安裝master節(jié)點(diǎn) 1)安裝etcd配置etcd 2)安裝k8s-master節(jié)點(diǎn) 3)配置apiserver 4)配置controller和scheduler 5)啟動(dòng)k8s服務(wù) 3、安裝k8s-master上的node 1)安裝node 2)配置kube

    2024年02月13日
    瀏覽(35)
  • 【云原生 | Kubernetes 系列】— 部署K8S 1.28版本集群部署(基于Containerd容器運(yùn)行)

    主機(jī)名 IP地址 備注 k8s-master01 192.168.0.109 master k8s-node1 192.168.0.108 node1 k8s-node2 192.168.0.107 node1 k8s-node3 192.168.0.105 node1 1、主機(jī)配置 2、升級(jí)內(nèi)核 3、配置內(nèi)核轉(zhuǎn)發(fā)以及過(guò)濾 4、安裝ipset ipvsadm,IPVS(IP Virtual Server)是一個(gè)用于負(fù)載均衡的 Linux 內(nèi)核模塊,它可以用來(lái)替代 kube-proxy 默認(rèn)的

    2024年02月20日
    瀏覽(101)
  • 【Kubernetes運(yùn)維篇】RBAC之創(chuàng)建集群用戶(hù)管理K8S

    【Kubernetes運(yùn)維篇】RBAC之創(chuàng)建集群用戶(hù)管理K8S

    需求:公司新入職兩位運(yùn)維同事,分別是zhangsan、lisi,剛?cè)肼毧隙ú荒芙oK8S管理員權(quán)限,所以需要?jiǎng)?chuàng)建兩個(gè)系統(tǒng)賬號(hào),分別對(duì)應(yīng)不同的權(quán)限: zhangsan用戶(hù) :對(duì)uat名稱(chēng)空間擁有管理員權(quán)限 lisi用戶(hù) :對(duì)所有命名空間擁有查看Pod的權(quán)限 第一步:生成一個(gè)私鑰 第二步:生成一個(gè)證

    2024年02月16日
    瀏覽(27)
  • kubernetes(K8S)學(xué)習(xí)(一):K8S集群搭建(1 master 2 worker)

    kubernetes(K8S)學(xué)習(xí)(一):K8S集群搭建(1 master 2 worker)

    kubernetes官網(wǎng) :https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl GitHub :https://github.com/kubernetes/kubeadm 本文 :使用kubeadm搭建一個(gè)3臺(tái)機(jī)器組成的k8s集群,1臺(tái)master節(jié)點(diǎn),2臺(tái)worker節(jié)點(diǎn)。 由于k8s安裝較麻煩,為防止出現(xiàn)其他異常,特此

    2024年04月09日
    瀏覽(22)
  • Kubernetes(K8s)常用命令大全:熟練編排更完美

    Kubernetes(K8s)常用命令大全:熟練編排更完美

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個(gè)人主頁(yè)——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來(lái)一定的幫助??文章粗淺,敬

    2024年02月16日
    瀏覽(21)
  • Kubernetes技術(shù)--k8s核心技術(shù)yaml資源編排

    (1).引入 ? ? ? ?我們可以使用kubectl實(shí)現(xiàn)單行指令的操作,但是這樣做的壞處是不復(fù)用,所以為了更好的實(shí)現(xiàn)對(duì)一系列資源的編排工作。kuberntes中使用一種叫做 資源清單文件(yaml)來(lái)實(shí)現(xiàn)對(duì)資源管理和資源對(duì)象編排部署 。 (2).概述 ? ? yaml是一 種標(biāo)記語(yǔ)言 。為了強(qiáng)調(diào)這種語(yǔ)言以

    2024年02月10日
    瀏覽(26)
  • liqo學(xué)習(xí)及安裝,k8s,kubernetes多集群互聯(lián)

    liqo學(xué)習(xí)及安裝,k8s,kubernetes多集群互聯(lián)

    先按照官方的教程在虛擬機(jī)安裝學(xué)習(xí) Docker,容器運(yùn)行時(shí)。 Kubectl,Kubernetes 的命令行工具。 Helm,Kubernetes 的包管理器。 curl,通過(guò) HTTP/HTTPS 與教程應(yīng)用程序交互。 Kind,Docker 運(yùn)行時(shí)中的 Kubernetes。(在docker中運(yùn)行的Kubernetes,主要做測(cè)試用) liqoc??tl與 Liqo 交互的命令行工具。

    2024年04月22日
    瀏覽(51)
  • kubernetes(k8s)大白學(xué)習(xí)02:容器和docker基礎(chǔ)、使用、架構(gòu)學(xué)習(xí)

    kubernetes(k8s)大白學(xué)習(xí)02:容器和docker基礎(chǔ)、使用、架構(gòu)學(xué)習(xí)

    簡(jiǎn)單說(shuō):容器(container)就是計(jì)算機(jī)上的一個(gè)沙盒進(jìn)程,它與計(jì)算機(jī)上的所有其它進(jìn)程相隔離。 這種隔離是怎么做到的呢?它利用了內(nèi)核提供的 namespace 和 cgroup 這 2 種技術(shù)。這些技術(shù)能力在 Linux 中已經(jīng)存在了很長(zhǎng)時(shí)間。而 Docker 或容器技術(shù)致力于將這些功能更易于使用和更

    2024年02月07日
    瀏覽(45)
  • 使用Vagrant創(chuàng)建和管理本地Kubernetes(K8s)集群的步驟是什么

    使用Vagrant創(chuàng)建和管理本地Kubernetes(K8s)集群的步驟是什么

    ??個(gè)人主頁(yè):程序員 小侯 ??CSDN新晉作者 ??歡迎 ??點(diǎn)贊?評(píng)論?收藏 ?收錄專(zhuān)欄:云計(jì)算 ?文章內(nèi)容:Vagrant ??希望作者的文章能對(duì)你有所幫助,有不足的地方請(qǐng)?jiān)谠u(píng)論區(qū)留言指正,大家一起學(xué)習(xí)交流!?? 在本文中,我們將探討如何使用Vagrant來(lái)創(chuàng)建和管理一個(gè)本地的

    2024年02月09日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包