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

四、Kubernetes(k8s) 工作中的常用命令

這篇具有很好參考價值的文章主要介紹了四、Kubernetes(k8s) 工作中的常用命令。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、Namespace

顧名思義,Namespace是命名空間的意思,在 Kubernetes 中,“命名空間(Namespace)” 提供一種機制,將同一集群中的資源劃分為相互隔離的組。 同一命名空間內(nèi)的資源名稱要唯一,但跨命名空間時沒有這個要求。 命名空間作用域僅針對帶有命名空間的對象,例如 Deployment、Service、Pod 等, 這種作用域?qū)涸L問的對象不適用,例如 StorageClass、Node、PersistentVolume 等。

1、查看Namespace

# 使用以下命令可以列出集群中所有現(xiàn)存的命名空間
kubectl get namespace

四、Kubernetes(k8s) 工作中的常用命令

Kubernetes 會創(chuàng)建四個初始命名空間:

  • default:?沒有指明使用其它命名空間的對象所使用的默認(rèn)命名空間
  • kube-system:?Kubernetes 系統(tǒng)創(chuàng)建對象所使用的命名空間
  • kube-public:?這個命名空間是自動創(chuàng)建的,所有用戶(包括未經(jīng)過身份驗證的用戶)都可以讀取它。 這個命名空間主要用于集群使用,以防某些資源在整個集群中應(yīng)該是可見和可讀的。 這個命名空間的公共方面只是一種約定,而不是要求。
  • kube-node-lease:?此命名空間用于與各個節(jié)點相關(guān)的?租約(Lease)對象。 節(jié)點租期允許 kubelet 發(fā)送心跳,由此控制面能夠檢測到節(jié)點故障。

2、基本使用語法

# 創(chuàng)建命名空間  ns等價于namespace
kubectl create ns pangtaiyi

# 刪除命名空間
kubectl delete ns pangtaiyi

# 更改默認(rèn)命名空間名稱(系統(tǒng)默認(rèn)是default命名空間)
# 我們可以改成其他的命名空間
kubectl config set-context $(kubectl config current-context) --namespace=<新的命名空間>

3、使用請求參數(shù)

啟動pod,指定pod 的命名空間,可以使用?--namespace?參數(shù), 例如:

# 解釋:在PangTaiYi命名空間下,運行一個Pod,Pod運行的鏡像是Nginx
kubectl run nginx --image=nginx --namespace=PangTaiYi

# 解釋:查詢在PangTaiYi命名空間下,所有的Pod
kubectl get pods --namespace=PangTaiYi

# 也可以使用簡寫方式, --namespace = -n, 例如:
kubectl get pods -n=PangTaiYi
# 或者
kubectl get pods -n PangTaiYi

二、Pod

Pod?是可以在 Kubernetes 中創(chuàng)建和管理的、最小的可部署的計算單元。Pod?是一組(一個或多個)容器; 這些容器共享存儲、網(wǎng)絡(luò)、以及怎樣運行這些容器的聲明。 Pod 所建模的是特定于應(yīng)用的“邏輯主機”,其中包含一個或多個應(yīng)用容器, 這些容器是相對緊密的耦合在一起的。 在非云環(huán)境中,在相同的物理機或虛擬機上運行的應(yīng)用類似于在同一邏輯主機上運行的云應(yīng)用。除了應(yīng)用容器,Pod 還可以包含在 Pod 啟動期間運行的?Init 容器。 你也可以在集群中支持臨時性容器?的情況下,為調(diào)試的目的注入臨時性容器。(注:通常工作中不需要直接創(chuàng)建 Pod,甚至單個實例的 Pod。因為會使用如 Deployment?或?Job?這類工作負(fù)載資源來創(chuàng)建 Pod。

1、獲取Pod

# 1、獲取Pod,默認(rèn)獲取default命名空間下的Pod
kubectl get pod

# 2、獲取所有命名空間下的Pod(-A 區(qū)分大小寫)
kubectl get pod -A

# 3、獲取Pod的更加詳細(xì)的信息,如下:
[root@master ~]# kubectl get pod -o wide
NAME                      READY   STATUS    RESTARTS   AGE   IP            NODE    NOMINATED NODE   READINESS GATES
my-dep-5b7868d854-6f9mz   1/1     Running   1          27h   10.244.1.8    node1   <none>           <none>
my-dep-5b7868d854-dklnq   1/1     Running   1          27h   10.244.1.7    node1   <none>           <none>
my-dep-5b7868d854-j5whk   1/1     Running   1          27h   10.244.1.10   node1   <none>           <none>
my-dep-5b7868d854-lx8nh   1/1     Running   1          23h   10.244.2.13   node2   <none>           <none>
my-dep-5b7868d854-n2gmq   1/1     Running   1          23h   10.244.2.11   node2   <none>           <none>
my-dep-5b7868d854-nd6bl   1/1     Running   1          27h   10.244.1.9    node1   <none>           <none>
my-dep-5b7868d854-p7nv8   1/1     Running   1          23h   10.244.2.12   node2   <none>           <none>
my-dep-5b7868d854-qz658   1/1     Running   1          23h   10.244.2.10   node2   <none>           <none>
my-dep-5b7868d854-sq65d   1/1     Running   1          23h   10.244.2.8    node2   <none>           <none>
my-dep-5b7868d854-zbbwf   1/1     Running   1          27h   10.244.1.11   node1   <none>           <none>

2、 操作Pod

# 1、創(chuàng)建Pod,運行一個nginx容器
kubectl run mynginx --image=nginx

# 2、刪除Pod
kubectl delete mynginx

# 3、也可以通過yaml 文件來創(chuàng)建pod
kubectl apply -f <yaml文件地址>

3、查看Pod 的信息

# 1、獲得Pod 的描述信息
kubectl describe pod <pod名稱>

# 2、如果是其他命名空間下的pod,需要帶上相應(yīng)的命名空間
kubectl describe pod <pod名稱> -n <命名空間名稱>

# 3、當(dāng)Pod 運行失敗,可以查看pod的日志來查看運行日志
kubectl logs <Pod名稱>

# 4、進(jìn)入pod 的內(nèi)部
kubectl exec -it mynginx -- /bin/bash

看到這里, 有Docker 基礎(chǔ)的同學(xué)都發(fā)現(xiàn)了, 其實k8s 對于pod 的操作很像是 Docker 對于容器,鏡像的操作。幾乎沒什么區(qū)別。由于 Pod 自身不具有自愈能力, 所以在工作中很少直接操作Pod ,所以這里就不過多介紹了。

三、Deployment

Deployment 為 Pod 和 ReplicaSet 提供聲明式的更新能力。由用戶描述 Deployment 中的?目標(biāo)狀態(tài),而 Deployment?控制器(Controller)?以受控速率更改實際狀態(tài), 使其變?yōu)?span style="color:#fe2c24;">期望狀態(tài)。你可以定義 Deployment 以創(chuàng)建新的 ReplicaSet,或刪除現(xiàn)有 Deployment, 并通過新的 Deployment 收養(yǎng)其資源。(說簡單點就是, Deployment可以控制Pod,使Pod擁有多副本,自愈,擴(kuò)縮容等能力

1、自愈、故障轉(zhuǎn)移

下面就使用基本的創(chuàng)建Pod的方式和Deployment 的方式創(chuàng)建Pod,來測試一下什么叫自愈能力。

# 前置環(huán)境:
# 運行一個Pod 和 一個Deploymnet
kubectl run mynginx --image=nginx
kubectl create deployment mynginx-deployment --image=nginx

可以看到, 兩個pod 分別運行在Node1 和Node2 節(jié)點,下面就來進(jìn)行測試。

四、Kubernetes(k8s) 工作中的常用命令

1.1、誤刪除

同時刪除兩個pod,看會有什么效果,(注意:使用Deployment 方式創(chuàng)建pod所生成的名稱 mynginx-deployment-679dd69446-h59xs)?????四、Kubernetes(k8s) 工作中的常用命令

?可以看到, 同時刪除兩個pod , 普通方式刪除之后就沒了, Deployment 刪除了pod 之后, 有重新拉起一個新的Pod。

1.2、宕機

四、Kubernetes(k8s) 工作中的常用命令

如上圖所示, 在node2 節(jié)點運行了兩個Pod, 現(xiàn)在測試將node2節(jié)點宕機, 會有什么效果。

四、Kubernetes(k8s) 工作中的常用命令

可以看到, Deployment方式創(chuàng)建的Pod, 在Node2節(jié)點宕機之后 ,又在Node1節(jié)點上拉起了一個新的Pod。所以就如我之前說的,在工作中使用Deployment方式比較多。

2、多副本

實際上多副本就是在創(chuàng)建 Deployment 的時候,可以指定創(chuàng)建自定義個Pod。例如:下面的語句可以一次性創(chuàng)建10 Pod。(這在部署集群環(huán)境的時候非常方便。)

# 創(chuàng)建是個nginx副本   --replicas后面跟副本數(shù)量
kubectl create deployment my-dep --image=nginx --replicas=10

四、Kubernetes(k8s) 工作中的常用命令

3、擴(kuò)縮容

擴(kuò)縮容在實際工作中用的很多,例如:現(xiàn)在有1萬個Pod(集群環(huán)境),雙十一的時候,網(wǎng)站訪問流量激增, 現(xiàn)有的配置無法維持系統(tǒng)的穩(wěn)定運行,這個時候就需要對系統(tǒng)進(jìn)行橫向擴(kuò)容,很簡單, 下面的語句就可以讓系統(tǒng)的Pod 從1萬個擴(kuò)容到2萬個。

# 將Pod my-dep 擴(kuò)容到2萬個副本
kubectl scale --replicas=20000 deployment/my-dep

?雙十一過了, 需要對系統(tǒng)進(jìn)行縮容, 讓系統(tǒng)繼續(xù)維持 1萬個Pod, 就只需要執(zhí)行下面的命令, 又可以對系統(tǒng)進(jìn)行縮容。

# 將Pod my-dep 縮容到1萬個副本
kubectl scale --replicas=10000 deployment/my-dep

?4、滾動更新

在以往的工作中, 要想對一個系統(tǒng)進(jìn)行版本更新, 需要將系統(tǒng)先暫停, 然后將發(fā)布后的程序更新上去, 一般都是這么搞的。但是這個方式有弊端, 那就是在更新的過程中, 程序不可用。 這在有些場景中是無法容忍的。

例如:?馬上618購物狂歡節(jié)快到了, 各大電商平臺又推出了搶紅包的游戲?,F(xiàn)有的系統(tǒng)版本是V.1.0,現(xiàn)在需要將系統(tǒng)升級到V.2.0 。那就可以使用滾動更新

# 語法:kubectl set image 工作負(fù)載方式/Pod名稱 鏡像名稱=需要調(diào)整的鏡像 --record
# --record 用作記錄滾動更新的信息, 后面方便版本回退
kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record

?注意:上面語句的 nginx 是填寫鏡像的name 屬性,可以使用“kubectl get deployment my-dep -oyaml” 來查看,結(jié)果如下圖

四、Kubernetes(k8s) 工作中的常用命令

四、Kubernetes(k8s) 工作中的常用命令

5、版本回退?

?版本回退這個功能一般是當(dāng)版本更新上去之后, 發(fā)現(xiàn)有問題, 需要將新版本進(jìn)行回退到指定版本。這個回退也是“滾動”的。

1. 查看系統(tǒng)有哪些版本

我們在滾動更新的時候, 說過一個 “--record” 參數(shù), 只有加了這個參數(shù),更新的版本信息才會被記錄下來。

# 查看系統(tǒng)有哪些歷史版本
[root@master ~]# kubectl rollout history deployment/my-dep
deployment.apps/my-dep 
REVISION  CHANGE-CAUSE
1         <none>
2         kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record=true
[root@master ~]# 

# 也可以單獨查看某個歷史詳情
[root@master ~]# kubectl rollout history deployment/my-dep --revision=2
deployment.apps/my-dep with revision #2
Pod Template:
  Labels:       app=my-dep
        pod-template-hash=6b48cbf4f9
  Annotations:  kubernetes.io/change-cause: kubectl set image deployment/my-dep nginx=nginx:1.16.1 --record=true
  Containers:
   nginx:
    Image:      nginx:1.16.1
    Port:       <none>
    Host Port:  <none>
    Environment:        <none>
    Mounts:     <none>
  Volumes:      <none>

2. 回滾

#回滾(回到上次)
kubectl rollout undo deployment/my-dep

#回滾(回到指定版本)
kubectl rollout undo deployment/my-dep --to-revision=2

?文章來源地址http://www.zghlxwxcb.cn/news/detail-482948.html

四、Kubernetes(k8s) 工作中的常用命令

?

到了這里,關(guān)于四、Kubernetes(k8s) 工作中的常用命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

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

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

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

    2024年02月16日
    瀏覽(21)
  • k8s資源管理命令與Namespace使用詳解

    目錄 一、前言 二、k8s概述 三、k8s常用操作管理命令 3.1 kubectl 命令用法

    2023年04月16日
    瀏覽(21)
  • docker在k8s容器中的作用,以及docker的底層原理,以及k8s的常用命令

    ? ? Docker的設(shè)計思想就是創(chuàng)建軟件程序可移植性的輕量級容器,讓其可以在任何安裝了Docker的機器上,不用關(guān)心底層操作系統(tǒng),就可以運行開發(fā)程序,就像集裝箱一樣使用。 Docker 是一個開源的應(yīng)用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。 Docker 可以讓開發(fā)者打包他們

    2024年04月27日
    瀏覽(32)
  • yum部署kubernetes(k8s)集群、k8s常用資源管理

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

    2024年02月13日
    瀏覽(33)
  • Kubernetes(K8S)命令指南

    Kubernetes(K8S)命令指南

    本文提供了一份全面的Kubernetes(K8S)命令指南,旨在幫助用戶掌握和運用K8S的各種命令。 關(guān)注【TechLeadCloud】,分享互聯(lián)網(wǎng)架構(gòu)、云服務(wù)技術(shù)的全維度知識。作者擁有10+年互聯(lián)網(wǎng)服務(wù)架構(gòu)、AI產(chǎn)品研發(fā)經(jīng)驗、團(tuán)隊管理經(jīng)驗,同濟(jì)本復(fù)旦碩,復(fù)旦機器人智能實驗室成員,阿里云

    2024年04月08日
    瀏覽(22)
  • (kubernetes)k8s常用資源管理

    (kubernetes)k8s常用資源管理

    目錄 k8s常用資源管理 1、創(chuàng)建一個pod 1)創(chuàng)建yuml文件 2)創(chuàng)建容器 3)查看所有pod創(chuàng)建運行狀態(tài) 4)查看指定pod資源 5)查看pod運行的詳細(xì)信息 6)驗證運行的pod 2、pod管理 1)刪除pod 2)查看刪除pod無法找到 3)創(chuàng)建pod 4)發(fā)現(xiàn)最先創(chuàng)建的pod運行在k8s-master節(jié)點上,下載鏡像速度太

    2024年02月13日
    瀏覽(51)
  • 云原生Kubernetes:K8S常用服務(wù)端口

    目錄 一、理論 1.K8S常用服務(wù)端口號 (1)K8S集群 表1?K8S集群端口 協(xié)議 端口號 K8S集群 TCP 22 使用主機驅(qū)動通過SSH進(jìn)行節(jié)點配置 TCP 53 集群DNS服務(wù) UDP 53 集群DNS服務(wù) TCP 2376 主機驅(qū)動與Docker守護(hù)進(jìn)程通信的TLS端口 TCP 2379 etcd客戶端請求 TCP 2380 etcd節(jié)點通信 UDP 8472 Canal/Flannel VXLAN ove

    2024年02月10日
    瀏覽(30)
  • 【k8s】Kubernetes技術(shù)和相關(guān)命令簡介

    【k8s】Kubernetes技術(shù)和相關(guān)命令簡介

    Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規(guī)??缮炜s、應(yīng)用容器化管理。在生產(chǎn)環(huán)境中部署一個應(yīng)用程序時,通常要部署該應(yīng)用的多個實例以便對應(yīng)用請求進(jìn)行負(fù)載均衡。kubernetes,簡稱K8s,是用8代替8個字符“ubernete”而成的縮寫。 在Kubernetes中,我們

    2024年01月18日
    瀏覽(22)
  • K8s:K8s 20個常用命令匯總

    博文內(nèi)容為節(jié)譯整理,用于溫習(xí) 理解不足小伙伴幫忙指正 對每個人而言,真正的職責(zé)只有一個:找到自我。然后在心中堅守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是對大眾理想的懦弱回歸,是隨波逐流,是對內(nèi)心的恐懼 ——赫爾曼·

    2024年02月15日
    瀏覽(17)
  • Kubernetes(k8s):精通 Pod 操作的關(guān)鍵命令

    Kubernetes(k8s):精通 Pod 操作的關(guān)鍵命令

    ??The Begin??點點關(guān)注,收藏不迷路?? Kubernetes 是一個強大的容器編排平臺,其中的核心概念之一就是 Pod。Pod 是 Kubernetes 中最小的可部署單元,它由一個或多個容器組成,共享網(wǎng)絡(luò)和存儲資源。 在本篇博客中,我們將深入探討 Kubernetes 集群中與 Pod 相關(guān)的一些重要命令,幫

    2024年04月14日
    瀏覽(1096)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包