日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

kubectl-sae工具快速入門

本文介紹kubectl-sae工具的使用方法和常用命令,幫助您快速入門并實現一些常見的業務需求。

前提條件

已安裝kubectl-sae工具,并配置AccessKey ID、AccessKey Secret、應用部署地域,詳見安裝與配置kubectl-sae工具

管理命名空間

kubectl-sae工具支持創建、查看、刪除命名空間,不支持更新命名空間。

創建命名空間

  1. 編寫文件名為namespace.yaml的文件,示例文件的內容如下,其中包含命名空間的配置信息。

    apiVersion: v1
    kind: Namespace
    metadata:
      annotations:
        sae.aliyun.com/vpc-id: ${vpc-id} # 請將${vpc-id}替換為命名空間關聯的VPC ID,格式為vpc-xxxxxxxxxxxxxxxxxxxxx
      name: ${namespace} # 請將${namespace}替換為命名空間名稱
    spec: {}
  2. namespace.yaml文件所在路徑執行以下命令,實現創建命名空間。

    kubectl-sae apply -f namespace.yaml

查看命名空間

執行以下命令,查看指定應用部署地域下已有的命名空間。

kubectl-sae get ns

輸出示例如下:

NAME        STATUS   REGION
default     Active   cn-beijing
testns      Active   cn-beijing

字段解釋如下:

字段

說明

NAME

命名空間的名稱,default 表示默認命名空間。

STATUS

命名空間的狀態,Active 表示可用。

REGION

命名空間所在地域。

刪除命名空間

執行以下命令,刪除指定命名空間。

kubectl-sae delete ns ${namespace}
# ${namespace}為命名空間的名稱

管理應用

kubectl-sae工具支持創建、查看、更新、刪除應用。

創建應用

  1. 編寫文件名為deployment.yaml的文件,示例文件的內容如下,其中包含應用的配置信息。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: ${deployment-name} # 請將${deployment-name}替換為您的應用名稱
    spec:
      replicas: 2 # 表示應用實例的數量
      selector:
        matchLabels:
          sae.aliyun.com/app-name: ${deployment-name} # 請將${deployment-name}替換為您的應用名稱
      template:
        metadata:
          labels:
            sae.aliyun.com/app-name: ${deployment-name} # 請將${deployment-name}替換為您的應用名稱
        spec:
          containers:
          - name: main # 建議將containers的名稱固定設置為main,避免沖突。
            image: registry.openanolis.cn/openanolis/nginx:1.14.1-8.6 # 本例以部署nginx鏡像為例
  2. deployment.yaml文件所在路徑執行以下命令,實現在默認命名空間下創建應用。

    kubectl-sae apply -f deployment.yaml
  3. 執行以下命令,查看已創建的應用的信息。當輸出結果中STATE值為RUNNING時,表示應用正在運行。

    kubectl-sae get deployment ${deployment-name}
    # ${deployment-name}為應用名稱
  4. 執行以下命令,查看已創建的應用的實例信息。

    kubectl-sae get pods -l sae.aliyun.com/app-name=${deployment-name}
    # ${deployment-name}為應用名稱

查看應用列表

執行以下命令,查看指定命名空間下已有的應用。

kubectl-sae get deployment -n ${namespace} 
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

輸出示例如下:

NAME              READY   AVAILABLE   TYPE        STATE     LANGUAGE   AGE
test-yaml   	  3/3     3           Image   	  RUNNING   java       6d1h
sc-c              2/2     2           Image       RUNNING   java       13d
sc-b              2/2     2           Image       RUNNING   java       13d
sc-a              1/1     1           Image       RUNNING   java       13d

字段解釋如下:

字段

說明

NAME

應用的名稱。

READY

已準備就緒的應用實例數 / 期望部署的目標實例數,準備就緒是指已通過Readiness探針檢查。

AVAILABLE

當前正在運行的應用實例數。

TYPE

應用的部署方式,Image表示通過鏡像部署。

STATE

應用的狀態,Running表示應用正在運行。

LANGUAGE

應用的技術棧語言。

AGE

應用的存在時長。

查看應用詳情

kubectl-sae工具支持使用getdescribe命令查看應用詳情。

通過get命令查看應用配置信息

執行以下命令,查看應用的配置信息。

kubectl-sae get deployment ${deployment-name} -o yaml -n ${namespace}
# ${deployment-name}為應用名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

通過describe命令查看應用詳情

執行以下命令,查看應用詳情。

kubectl-sae describe deployment ${deployment-name} -n ${namespace}
# ${deployment-name}為應用名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

更新應用

kubectl-sae工具支持使用scaleeditapply命令更新應用。

通過scale命令實現應用手動擴縮容

執行以下命令,實現應用手動擴縮容。

kubectl-sae scale deployment ${deployment-name} -n ${namespace} --replicas=${pod-num}
# ${deployment-name}為應用名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間
# ${pod-num}為期望的應用實例數

通過edit命令在線編輯應用配置信息

  1. 執行以下命令,將會以YAML文件的形式打開指定應用的配置信息。

    kubectl-sae edit deployment ${deployment-name} -n ${namespace}
    # ${deployment-name}為應用名稱
    # ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間
  2. 在打開的YAML文件中按需修改配置信息,保存并關閉文件,等待配置信息變更完成。

通過apply命令實現按照YAML配置文件更新應用

修改已部署的應用的配置文件deployment.yaml,在配置文件所在路徑執行以下命令,實現應用配置信息的變更。

kubectl-sae apply -f deployment.yaml

刪除應用

執行以下命令,刪除指定應用。

kubectl-sae delete deployment ${deployment-name} -n ${namespace}
# ${deployment-name}為應用名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

管理負載均衡SLB

負載均衡SLB對應Kubernetes的service資源類型。kubectl-sae工具支持創建、查看、更新、解綁負載均衡SLB。

為應用創建新的負載均衡SLB

  1. 編寫文件名為svc.yaml的文件,示例文件的內容如下,其中包含負載均衡SLB的配置信息。

    apiVersion: v1
    kind: Service
    metadata:
      name: internet-${deployment-name} # 請將${deployment-name}替換為您的應用名稱
      # internet表示設置公網訪問的SLB,如果需要設置私網訪問的SLB,請將其替換為intranet
    spec:
      ports:
      - name: port-80
        port: 80 # 表示用戶訪問應用的端口,請根據實際需求替換
        protocol: TCP
        targetPort: 80 # 表示容器中對外提供服務的端口,請根據實際需求替換
      selector:
        sae.aliyun.com/app-name: ${deployment-name} # 請將${deployment-name}替換為您的應用名稱
  2. svc.yaml文件所在路徑執行以下命令,實現為應用創建新的負載均衡SLB。

    kubectl-sae apply -f svc.yaml

將應用綁定到已有的負載均衡SLB

  1. 編寫文件名為svc.yaml的文件,示例文件的內容如下,其中包含負載均衡SLB的配置信息。

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        sae.aliyun.com/loadbalancer-id: ${your-slb-id} # 請將${your-slb-id}替換為您的SLB ID
      name: internet-${deployment-name} # 請將${deployment-name}替換為您的應用名稱
      # internet表示設置公網訪問的SLB,如果需要設置私網訪問的SLB,請將其替換為intranet
    spec:
      ports:
      - name: port-80
        port: 80 # 表示用戶訪問應用的端口,請根據實際需求替換
        protocol: TCP
        targetPort: 80 # 表示容器中對外提供服務的端口,請根據實際需求替換
      selector:
        sae.aliyun.com/app-name: ${deployment-name} # 請將${deployment-name}替換為您的應用名稱
  2. svc.yaml文件所在路徑執行以下命令,實現將應用綁定到已有的負載均衡SLB。

    kubectl-sae apply -f svc.yaml

查看負載均衡SLB列表

執行以下命令,查看已有的負載均衡SLB列表。

kubectl-sae get service -l sae.aliyun.com/app-name=${deployment-name} -n ${namespace}
# ${deployment-name}為應用的名稱,如果不通過-l參數指定應用名稱,則默認顯示所有應用綁定的負載均衡SLB
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

輸出示例如下:

NAME               TYPE         EXTERNAL-IP    PORT(S)   BOUND     AGE
internet-myapp   LoadBalancer   xxx.x.xx.xx    80/TCP    myapp    6d20h
intranet-myapp   LoadBalancer   xx.xx.xxx.xx   80/TCP    myapp    4d1h

字段解釋如下:

字段

說明

NAME

Service的名稱,格式為${公網/私網類型}-${應用名稱}

對于${公網/私網類型},internet表示公網類型,intranet表示私網類型。

TYPE

Service的類型,LoadBalancer表示負載均衡SLB。

EXTERNAL-IP

負載均衡SLB的IP地址。

PORT(S)

負載均衡SLB的端口映射信息。

BOUND

負載均衡SLB綁定的應用名稱。

AGE

Service的存在時長。

查看負載均衡SLB詳情

執行以下命令,查看負載均衡SLB的配置信息。

kubectl-sae get service ${service-name} -n ${namespace} -o yaml
# ${service-name}為service名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

更新負載均衡SLB

kubectl-sae工具支持使用editapply命令更新負載均衡SLB。

通過edit命令在線編輯負載均衡SLB配置信息

  1. 執行以下命令,將會以YAML文件的形式打開指定負載均衡SLB的配置信息。

    kubectl-sae edit service ${service-name} -n ${namespace}
    # ${service-name}為service名稱
    # ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間
  2. 在打開的YAML文件中按需修改配置信息,保存并關閉文件,等待配置信息變更完成。

通過apply命令實現按照YAML配置文件更新負載均衡SLB

修改已有的負載均衡SLB的配置文件svc.yaml。在配置文件所在路徑執行以下命令,實現負載均衡SLB配置信息的變更。

kubectl-sae apply -f svc.yaml

解綁負載均衡SLB

執行以下命令,解綁指定的負載均衡SLB。

kubectl-sae delete service ${service-name} -n ${namespace}
# ${service-name}為service名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

管理ConfigMap

kubectl-sae工具支持創建、查看、更新、刪除ConfigMap。ConfigMap可以作為容器的環境變量被引用,或作為文件掛載到容器中。

創建ConfigMap

  1. 編寫文件名為cm.yaml的文件,示例文件的內容如下,其中包含ConfigMap的配置信息。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: database-configmap # 表示ConfigMap的名稱
      namespace: default # 表示ConfigMap所在的命名空間
    data: #表示ConfigMap中包含的鍵值對信息
      database: mysql
      database_uri: mysql://localhost:2309
  2. cm.yaml文件所在路徑執行以下命令,實現在默認命名空間下創建名稱為database-configmap的ConfigMap。

    kubectl-sae apply -f cm.yaml

查看地域下ConfigMap列表

執行以下命令,查看地域下已有的ConfigMap列表。

kubectl-sae get configmap -A

輸出示例如下:

NAMESPACE   NAME            DATA   AGE
default     nacos           1      69d
test        test-config     2      10d

字段解釋如下:

字段

說明

NAMESPACE

ConfigMap所在的命名空間。

NAME

ConfigMap的名稱。

DATA

ConfigMap中數據條目數。

AGE

ConfigMap的存在時長。

查看命名空間下ConfigMap列表

執行以下命令,查看命名空間下已有的ConfigMap列表。

kubectl-sae get configmap -n ${namespace}
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

查看ConfigMap具體配置

執行以下命令,查看指定ConfigMap的具體配置。

kubectl-sae get cm ${cm-name} -n ${namespace} -o yaml 
# ${cm-name}為ConfigMap的名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間

引用ConfigMap作為容器環境變量

以下示例文件展示了引用ConfigMap作為容器環境變量的方法。引用方式分為部分引用和全部引用,請根據您的需求進行選擇。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-configmap
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      sae.aliyun.com/app-name: test-configmap
  template:
    metadata:
      creationTimestamp: null
      labels:
        sae.aliyun.com/app-name: test-configmap
    spec:
      containers:
      - args:
        - /home/admin/start.sh
        command:
        - /bin/bash
        env: ### 以下為部分引用的示例
        - name: database # 表示容器中的環境變量名
          valueFrom:
            configMapKeyRef: # 表示環境變量的值引用database-configmap中的database值
              key: database
              name: database-configmap
        envFrom: ### 以下為全部引用的示例
        - configMapRef: # 表示全部引用other-configmap中的鍵值對作為容器中的環境變量
            name: other-configmap
        name: main
        image: registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0
        imagePullPolicy: Always
        resources:
          limits:
            cpu: "2"
            memory: 4Gi
          requests:
            cpu: "2"
            memory: 4Gi
      restartPolicy: Always
      terminationGracePeriodSeconds: 10

將ConfigMap作為文件掛載到容器中

以下示例文件展示了將ConfigMap作為文件掛載到容器中的方法。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test-configmap
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      sae.aliyun.com/app-name: test-configmap
  template:
    metadata:
      labels:
        sae.aliyun.com/app-name: test-configmap
    spec:
      containers:
      - args:
        - /home/admin/start.sh
        command:
        - /bin/bash
        name: main
        image: registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0
        imagePullPolicy: Always
        resources:
          limits:
            cpu: "2"
            memory: 4Gi
          requests:
            cpu: "2"
            memory: 4Gi
        volumeMounts:
          - mountPath: /tmp/nacos # 表示ConfigMap文件的掛載路徑
            name: my-volume # 表示掛載的volume名稱為my-volume
      volumes: # 表示基于nacos-configmap聲明my-volume
      - configMap:
          name: nacos-configmap
        name: my-volume
      restartPolicy: Always
      terminationGracePeriodSeconds: 10

更新ConfigMap

kubectl-sae工具支持使用editapply命令更新ConfigMap。

通過edit命令在線編輯ConfigMap

  1. 執行以下命令,將會以YAML文件的形式打開指定ConfigMap的配置信息。

    kubectl-sae edit cm ${cm-name} -n ${namespace}
    # ${cm-name}為ConfigMap名稱
    # ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間
  2. 在打開的YAML文件中按需修改配置信息,保存并關閉文件,等待配置信息變更完成。

通過apply命令實現按照YAML配置文件更新ConfigMap

修改已有的ConfigMap的配置文件cm.yaml。在配置文件所在路徑執行以下命令,實現ConfigMap配置信息的變更。

kubectl-sae apply -f cm.yaml

刪除ConfigMap

執行以下命令,刪除指定的ConfigMap。

kubectl-sae delete cm ${cm-name} -n ${namespace}
# ${cm-name}為ConfigMap名稱
# ${namespace}為命名空間的名稱,如果不通過-n參數指定命名空間,則默認使用default命名空間