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

k8s 常用命令

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

資源類型 資源簡稱
node no
namespaces ns
deployment deploy
ReplicaSet rs
pod po
service svc
ingress ing
DaemonSets ds
StatefulSets sts
ConfigMap cm
PersistentVolume pv
PersistentVolumeClaim pvc
HorizontalPodAutoscaler hpa
ComponentStatus cs

創(chuàng)建資源

# 創(chuàng)建一個deployment 
cat >> nginx-deploy-test.yaml < EOF
apiVersion: apps/v1 #版本信息
kind: Deployment  #資源信息
metadata:   #元數(shù)據(jù)
  name: nginx-deploy  #資源名稱
  namespace: default  #屬于哪個命名空間下
spec: 
  replicas: 2   #一共有兩個副本資源
  selector:
    matchLabels: 
      app: nginx
  template:      #pod創(chuàng)建模板
    metadata:
        labels:
          app: nginx 
    spec:
      containers:   #容器名稱下邊的容器可以有多個
      - image: nginx  #鏡像名稱
        imagePullPolicy: IfNotPresent  #鏡像拉取策略
        name: nginx-test  #容器名稱
      restartPolicy: Always  #重啟策略
EOF

部署上邊的yaml資源信息

kubectl apply -f nginx-deploy-test.yaml

也可以這樣使用命令行方式,直接創(chuàng)建

#創(chuàng)建pod
kubectl create deploy nginx --image=nginx

k8s 常用命令

查看資源信息

1.1 查看k8s版本信息

kubeadm version
kubelet --version
kubectl version

1.2 查看pod信息

kubectl get po -o wide

k8s 常用命令

1.3 查看deployment信息

kubectl get deploy

k8s 常用命令

1.4 查看rs信息

kubectl get rs -o wide

k8s 常用命令

1.5 外部端口暴露 查看 service信息

#暴露service端口
kubectl expose deploy nginx-deploy --type=NodePort --port=80 --target-port=8000 --name=nginx-deploy
#查看service
kubectl get svc

k8s 常用命令k8s 常用命令

1.6 查看 namespace 命名空間信息

kubectl get ns

k8s 常用命令
1.7 查看資源yaml信息
舉例:kubectl get 資源名稱 -o yaml -n 命名空間
如果 命名空間不填 默認(rèn)為 default

kubectl get deploy nginx-deploy -o yaml -n default

在這里插入圖片描述
1.8 進(jìn)入k8s容器

#進(jìn)入k8s運(yùn)行的容器
kubectl exec demo-deploy-64575b5d97-txb4w -it -- /bin/bash
#退出容器
exit

1.9 查看k8s集群健康狀況

kubectl get cs

在這里插入圖片描述

端口映射

##create 方式基于端口做映射,expose 方式基于服務(wù)做映射
##創(chuàng)建無頭服務(wù)
kubectl create svc clusterip nacos-headless --clusterip=None --tcp=8848:8848
##創(chuàng)建NodePort服務(wù)
kubectl create svc nodeport nacos-nodeport --tcp=8848:8848 --node-port=30848
##端口暴露NodePort
kubectl expose deploy nginx-deploy --type=NodePort --port=80 --target-port=8000
##創(chuàng)建ingress
##kubectl create ingress 名稱 --rule=訪問路徑 / 匹配方式=svc的名稱:端口(集群內(nèi)部端口)
kubectl create ingress nginx-ing --rule=www.digua.com/*=nginx-deploy:80

ingress代理

##創(chuàng)建ing
kubectl create ing nginx-ing --rule="test.digua.com/*=nginx-deploy:80"

修改本地win的hosts文件,增加域名映射

192.168.33.160 test.digua.com

在這里插入圖片描述

查看日志 查看報(bào)錯

查看日志

kubectl logs pod名稱 -n 命名空間

查看資源信息

kubectl describe deploy deploy名稱 -n 命名空間

標(biāo)簽查看,標(biāo)簽制作

標(biāo)簽查看

kubectl get 資源類型 --show-labels
kubectl get no --show-labels

標(biāo)簽制作

kubectl label 資源類型 資源名稱 標(biāo)簽key=標(biāo)簽value
kubectl label no slave cpu=8cup32g

修改資源信息

舉例: kubectl edit 資源類型 資源名稱 -n 命名空間
如果 命名空間不填 默認(rèn)為 default

kubectl edit pod nginx-deploy-86597ffd87-pz5bn -n default
kubectl edit deploy nginx-deploy
kubectl edit rs nginx-deploy-86597ffd87

修改上述文章中的 nginx-deploy-test.yaml 信息后

#運(yùn)行apply 也是更新操作
kubectl apply -f nginx-deploy-test.yaml

刪除資源

舉例: kubectl delete 資源類型 資源名稱 -n 命名空間
如果 命名空間不填 默認(rèn)為 default
1.1 刪除單個pod,如果pod是由deploy等創(chuàng)建的是無法完全刪除,因?yàn)閜od停止后,scheduler會重新掃描后再創(chuàng)建

kubectl delete po nginx-deploy-86597ffd87-djkws 
#刪除默認(rèn)命名空間下所有的pod,下邊的刪除也是同樣的,只是改一下資源類型
kubectl delete po --all

1.2 刪除rs,刪除rs后 對應(yīng)下邊的pod也會刪除,如果rs是通過deploy創(chuàng)建,會自動重新創(chuàng)建并順便創(chuàng)建下邊的pod

kubectl delete rs nginx-deploy-86597ffd87

1.3 刪除deployment,刪除deploy后下變得rs和pod都會被刪除

kubectl delete deploy nginx-deploy

1.4 刪除命名空間,刪除命名空間后下邊所有的pod、deploy、svc、rs都會刪除

kubectl delete ns default

1.5 強(qiáng)制刪除pod

kubectl delete po nginx-deploy-86597ffd87-djkws  --force --grace-period=0

查看資源使用(cpu、內(nèi)存使用)

##kubectl top (no/po)
kubectl top no

滾動發(fā)布與回滾

滾動發(fā)布 滾動發(fā)布會保留deploy,會重新制作一個rs取代之前的rs

##kubectl set image 資源類型/資源名 容器名稱=鏡像
kubectl set image deploy/test-deploy test=192.168.34.8:85/public/test:2

版本回滾

##查看歷史版本信息   kubectl rollout history 資源類型/資源名
kubectl rollout history deploy/test-deploy
##根據(jù)歷史版本信息,指定版本進(jìn)行回滾    kubectl rollout undo 資源類型/資源名 --to-revision=版本
kubectl rollout undo deploy/test-deploy --to-revision=4

請注意,正常發(fā)版時候查看歷史版本其中的CHANGE-CAUSE是none,這個主要是由資源里邊的標(biāo)簽 kubernetes.io: “版本信息” 決定的
在這里插入圖片描述
在這里插入圖片描述

scale (pod擴(kuò)容)、autoscale(自動擴(kuò)容)

kubectl scale --replicas=資源數(shù)量 資源類型/資源名稱

kubectl scale --replicas=3 deploy/nginx-deploy

擴(kuò)容之前
在這里插入圖片描述
擴(kuò)容之后
在這里插入圖片描述

##kubectl autoscale 資源類型 資源名稱 --min=最小pod數(shù)量 --max=最大pod數(shù)量 --cpu-percent=CPU達(dá)到40%時候
kubectl autoscale deploy nginx-deploy --min=1 --max=3 --cpu-percent=40
##查看自動擴(kuò)容信息
kubectl get hpa 

secret (k8s 拉取harbor鏡像配置)

kubectl create secret docker-registry 名稱 --docker-server=harbor的ip+端口 --docker-username=用戶名 --docker-password=密碼 --docker-email=郵箱(非必填)

kubectl create secret docker-registry 34.8harborregistry --docker-server=192.168.34.8:85 --docker-username=admin --docker-password=Harbor@2022 --docker-email=123@qq.com
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: demo-deploy
  namespace: default
spec: 
  replicas: 2
  selector:
    matchLabels: 
      app: demo
  template:
    metadata:
        labels:
          app: demo 
    spec:
      containers: 
      - image: 192.168.34.8:85/hhd/demo:latest
        imagePullPolicy: Always
        name: demo
      restartPolicy: Always
      imagePullSecrets:  #拉取位置
        - name: 34.8harborregistry

configMap (資源管理)

#創(chuàng)建腳本  entrypoint.sh
#!/bin/bash
exec java ${java_opts} -jar demo.jar "$@"
#創(chuàng)建 Dockerfile
FROM java:9
ENV java_opts=""
WORKDIR /home
COPY entrypoint.sh entrypoint.sh
COPY demo.jar demo.jar
RUN chmod 755 entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]
docker build -f Dockerfile -t test:1 .
docker login -u admin -p Admin123 192.168.34.8:85
docker tag test:1 192.168.34.8:85/project/test:1
docker push 192.168.34.8:85/project/test:1
cat >> /home/k8s/javaopt < EOF
-Xmx200m -Xmn200m -Xms200m -XX:+UseG1GC
EOF
kubectl create cm javaopt --from-file=javaenv=/home/k8s/javaenv

創(chuàng)建資源

apiVersion: apps/v1
kind: Deployment
metadata: 
  name: test-deploy
  namespace: default
spec: 
  replicas: 2
  selector:
    matchLabels: 
      app: demo
  template:
    metadata:
        labels:
          app: demo 
    spec:
      containers: 
      - image: 192.168.34.8:85/project/test:1
        imagePullPolicy: Always
        name: test
        env: 
          - name: java_opts
            valueFrom: 
              configMapKeyRef:
                name: javaopt
                key: javaenv
      restartPolicy: Always
      imagePullSecrets: 
        - name: 34.8harborregistry

查看pod情況
在這里插入圖片描述
在這里插入圖片描述

PV PVC掛載

192.168.34.7主節(jié)點(diǎn)
192.168.34.8從節(jié)點(diǎn)

配置nfs(所有節(jié)點(diǎn)都需要配置)

##安裝nfs
yum install nfs-utils -y
##啟動nfs
systemctl restart nfs && systemctl enable nfs

在文件掛載節(jié)點(diǎn)增加配置,這里我是在主節(jié)點(diǎn)進(jìn)行的

##創(chuàng)建目錄
mkdir -p /home/nfs
chmod 777 /home/nfs
##修改配置
cat >> /etc/exports < EOF
/home/nfs *(rw,no_root_squash,no_all_squash,sync)
/home/nfs 192.168.34.0/24(rw,no_root_squash,no_all_squash,sync)
EOF
##執(zhí)行命令生效配置
exportfs -rv

檢驗(yàn)nfs掛載,在別的節(jié)點(diǎn)測試掛載

##測試ip掛載是否正常
showmount -e 192.168.34.8
mkdir /home/test
chmod 777 /home/test
mount -t nfs 192.168.34.7:/home/nfs /home/test
##查看掛載
mount |grep 192.168.34.7

驗(yàn)證nfs掛載

##從節(jié)點(diǎn)輸出到aa.txt文件
date >> /home/test/aa.txt
##主節(jié)點(diǎn)查看文件
cat /home/nfs/aa.txt

配置PV

vim test-pv.yml
apiVersion: v1
items:
- apiVersion: v1
  kind: PersistentVolume
  metadata:
    annotations:
      pv.kubernetes.io/bound-by-controller: "yes"
    finalizers:
    - kubernetes.io/pv-protection
    name: test-pv
  spec:
    accessModes:
    - ReadWriteMany
    capacity:
      storage: 2Gi
    claimRef:
      apiVersion: v1
      kind: PersistentVolumeClaim
      name: test-pvc
      namespace: default
    nfs:
      path: /home/nfs
      server: 192.168.34.7
    persistentVolumeReclaimPolicy: Retain
    volumeMode: Filesystem
  status:
    phase: Bound
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""
kubectl create-f test-pv.yml

配置PVC

vim test-pvc.yml
apiVersion: v1
items:
- apiVersion: v1
  kind: PersistentVolumeClaim
  metadata:
    annotations:
      pv.kubernetes.io/bind-completed: "yes"
    finalizers:
    - kubernetes.io/pvc-protection
    name: test-pvc
    namespace: default
  spec:
    accessModes:
    - ReadWriteMany
    resources:
      requests:
        storage: 2Gi
    storageClassName: ""
    volumeMode: Filesystem
    volumeName: test-pv
  status:
    accessModes:
    - ReadWriteMany
    capacity:
      storage: 2Gi
    phase: Bound
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""
kubectl create-f test-pvc.yml

查看配置的pv和pvc

kubectl get pv 
kubectl get pvc

污點(diǎn)管理

污點(diǎn)類型 內(nèi)容
NoSchedule 在創(chuàng)建新的pod時候不會調(diào)度到該節(jié)點(diǎn)
PreferNoSchedule 將盡量避免調(diào)度到該節(jié)點(diǎn)
NoExecute 不會在該節(jié)點(diǎn)創(chuàng)建pod,如果有pod就會剔除

增加污點(diǎn)

##kubectl taint no 節(jié)點(diǎn) key:污點(diǎn)類型
kubectl taint no master key:NoSchedule

剔除污點(diǎn)文章來源地址http://www.zghlxwxcb.cn/news/detail-400734.html

kubectl taint no master key:NoSchedule-

deploy yaml文件解析

apiVersion: extensions/v1beta1 #版本
kind: Deployment  #資源類型
metadata:
  labels:
    workload.user.cattle.io/workloadselector: deployment-cloud-prd-server  #標(biāo)簽,k8s對于資源控制主要是根據(jù)labels和selector進(jìn)行的
  name: server  #資源名稱
  namespace: cloud-prd #所屬命名空間
spec:
  progressDeadlineSeconds: 600  
  replicas: 1  #一個pod
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      workload.user.cattle.io/workloadselector: deployment-cloud-prd-server
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate #發(fā)布策略
  template:    #創(chuàng)建模板
    metadata:
      labels:
        workload.user.cattle.io/workloadselector: deployment-cloud-prd-server
    spec:
      affinity:
        nodeAffinity:  
        #節(jié)點(diǎn)親和度  nodeAffinity
        #容器親和度  podAntiAffinity
          requiredDuringSchedulingIgnoredDuringExecution:  
          #硬策略(必須調(diào)度符合的規(guī)則上邊) requiredDuringSchedulingIgnoredDuringExecution
          #軟策略(最好可以調(diào)度符合的規(guī)則上邊) preferredDuringSchedulingRequiredDuringExecution
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - 172.26.0.46
      containers:
      - env:
        - name: DB_HOST  #對應(yīng)需要的環(huán)境變量
          valueFrom:  #configmap配置
            configMapKeyRef:
              key: DB_PORT
              name: mysql-env-cm
              optional: false
        - name: JAVA_OPTS
          value: -Xmx3550M -Xms3550M -Xmn2G -Xss256k
        image: 192.1.1.1/project/server:stable  #鏡像
        imagePullPolicy: Always  #鏡像拉取策略
        name: server   #容器名稱
        ports:
        - containerPort: 8513  #暴露端口
          name: 8513tcp02
          protocol: TCP
        resources:
          limits:
            memory: 4Gi
        stdin: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        tty: true
        volumeMounts:
        - mountPath: /log  #容器內(nèi)部掛載位置
          name: vol1
      dnsPolicy: ClusterFirst
      restartPolicy: Always  #重啟策略
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
      volumes:
      - name: vol1
        persistentVolumeClaim: #掛載的pvc
          claimName: log-pvc

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

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

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

相關(guān)文章

  • k8s的資源類型

    Kubernetes(通常稱為K8s)是一種用于自動化部署、擴(kuò)展和管理容器化應(yīng)用程序的開源平臺。它提供了一個強(qiáng)大的容器編排和管理系統(tǒng),可以簡化容器化應(yīng)用程序的部署、伸縮和運(yùn)維。 在Kubernetes中,容器是最基本的部署單元,而容器化應(yīng)用程序由一個或多個容器組成。Kubernete

    2024年02月05日
    瀏覽(32)
  • k8s基礎(chǔ):使用kubectl set image命令更新Deployment中容器的鏡像

    在Kubernetes中,使用 kubectl 更新Deployment中容器的鏡像,可以使用以下命令: 例如,如果你有一個名為 myapp 的 Deployment,其中包含一個名為 mycontainer 的容器,你想將鏡像從 myregistry/myimage:v1 更新到 myregistry/myimage:v2 ,可以執(zhí)行: 這條命令將會觸發(fā)一個滾動更新,根據(jù)你的Deploy

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

    k8s常用資源管理

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

    2024年02月13日
    瀏覽(52)
  • K8S:常用資源對象操作

    K8S:常用資源對象操作

    如果有一種工具能夠來幫助我們管理Pod就好了,Pod不夠了自動幫我新增一個,Pod掛了自動幫我在合適的節(jié)點(diǎn)上重新啟動一個Pod,這樣是不是遇到上面的問題我們都不需要手動去解決了。 幸運(yùn)的是,Kubernetes就為我們提供了這樣的資源對象: Replication Controller:用來部署、升級

    2024年04月11日
    瀏覽(22)
  • 在K8S中,DaemonSet類型資源特性?

    在Kubernetes(簡稱K8S)中,DaemonSet是一種控制器資源對象,它的主要特性包括: 每個節(jié)點(diǎn)運(yùn)行一個實(shí)例 : DaemonSet確保集群中的每個工作節(jié)點(diǎn)上都運(yùn)行著一個指定的Pod副本。這意味著當(dāng)DaemonSet被創(chuàng)建時,系統(tǒng)會自動調(diào)度Pod到所有符合條件的節(jié)點(diǎn)上,確保每個節(jié)點(diǎn)上都有且僅有一

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

    目錄 一、環(huán)境搭建 1、準(zhǔn)備環(huán)境 1)計(jì)算機(jī)說明,建議系統(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)啟動k8s服務(wù) 3、安裝k8s-master上的node 1)安裝node 2)配置kube

    2024年02月13日
    瀏覽(35)
  • Kubernetes(簡稱k8s)簡介

    Kubernetes(簡稱k8s)是一種開源的容器編排平臺,它可以自動化地部署、擴(kuò)展和管理容器化應(yīng)用程序。Kubernetes最初由Google公司設(shè)計(jì)和開發(fā),并于2014年正式發(fā)布。如今,它已成為容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn),被廣泛應(yīng)用于各種場景中,包括Web應(yīng)用程序、大數(shù)據(jù)處理、人工智能等。

    2024年02月06日
    瀏覽(21)
  • (kubernetes)k8s常用資源管理

    (kubernetes)k8s常用資源管理

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

    2024年02月13日
    瀏覽(52)
  • k8s 資源管理及查看命令

    ?關(guān)注 迪答數(shù)據(jù) 公眾號獲取更多 技術(shù)/數(shù)據(jù) 干貨文章? 文章傳送門:數(shù)據(jù)治理之指標(biāo)體系管理 參考文檔: Kubernetes? Managing Compute Resources for Containers(opens new window) https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ 在 Kubernetes 中創(chuàng)建工作負(fù)載時,您可以為 Pod 中

    2024年02月02日
    瀏覽(18)
  • 【K8s】 資源管理命令-陳述式

    【K8s】 資源管理命令-陳述式

    1、資源管理概念 在kubernetes中,所有的內(nèi)容都抽象為資源,用戶需要通過操作資源來管理kubernetes //kubernetes的本質(zhì)就是一個集群系統(tǒng),用戶可以在集群中部署各種服務(wù),起始就是在kubernetes集群中運(yùn)行一個個容器,并將指定的程序跑在容器中。 kubernetes的最小管理單元是pod而不

    2024年02月07日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包