Cloud Foundry 使用

渔樵江渚發表於2024-08-21

cf cli命令

總結下經常使用到的一些命令
CloudFoundry cli 使用version7

  1. 登入
cf7 login -a api.sys.***.com  -u username -p password
  1. 部署應用,-f 指定應用配置檔案路徑,-p指定應用jar包路徑
cf7 push -f  "myapp.yml"  -p  "myapp.jar" 
  1. scale 修改應用記憶體-m,磁碟-d,例項數-i
#修改應用myapp為5個instance
cf7 scale myapp -i 5
修改應用記憶體為1G
cf7 scale myapp  -m 1G
  1. 刪除應用,-r 刪除route,-f 強制刪除
cf7 delete myapp -rf
  1. 檢視應用日誌,拉取到本地
cf7 logs --recent myapp > myapp.log
  1. 一般使用space區別環境
#顯示所有space
cf7 spaces
切換到空間A
cf7 target -s spaceA
  1. 一般使用org 區分應
#顯示所有org
cf7 orgs
#切換到組織A
cf7 target -o orgA
  1. 列出當前space,org 下所有的應用
cf7 apps
  1. 顯示應用程式的執行狀況和狀態
cf7 app myqpp
  1. 應用啟停
#restage,修改應用配置後重啟應用,使配置生效
cf7 restage myapp
#restart,重啟應用
cf7 restart myapp
cf7 start myqpp
cf7 stop myapp
  1. 應用配置
#顯示應用所有配置
cf7 env myqpp
# 為應用 myqpp 設定環境變數
cf7 set-env myqpp env1 env_value
#去除環境變數
cf7 unset myqpp env1
#獲取應用配置檔案
cf7 create-app-manifest myapp
  1. route
#顯示當前space路由
cf7 routes
# 顯示應用路由
cf7 route myapp
#建立路由,當前路由:example.com
# myapp.example.com
cf7 create-route example.com --hostname myapp 
#對映應用路由
# myhost.example.com
cf7 map-route my-app example.com --hostname myhost 

常用service建立及使用

#列出可用服務
cf7 marketplace
#顯示已建立的service
cf7 services
#顯示srvice詳細資訊
cf7 service my_vault
#繫結應用和服務
cf7 bind-service myapp my_vault 

vault

使用vault儲存密碼等敏感資訊

#建立vault服務
cf7 create-service vault-marketplace share my_vault
#為服務例項建立金鑰
cf7 create-service-key my_vault my_key
#顯示服務金鑰資訊,vault可透過此資訊進行登入。
cg7 service-key my_vault my_key 

ELK

配置ELK儲存應用日誌檔案

# ELK使用的是自己提供的服務例項,
service名字叫 ELK-logging,ELK接入地址為10.217.0.0:6666
cf7 create-user-provided-service ELK-logging -l syslog://10.217.0.0:6666

AutoScaler

實現應用自動伸縮

#建立AutoScale 服務
cf7 creat-service autoscaler autoscaler-free-plan my_autoscaler
#給myapp繫結使用autoscaler,-p 指定autoscaler配置檔案
cf7 bind-service myapp my_autoscaler -p "scaling.yml"

scaling.yml示例:

{
    "instance_min_count": 2,
    "instance_max_count": 4,
    "scaling_rules": [
      {
          "metric_type": "cpu",
          "threshold": 20, 
          "operator": "<",
          "adjustment": "-1"
        },
        {
          "metric_type": "cpu",
          "threshold": 80, 
          "operator": ">",
          "adjustment": "+1"
        },
     {
          "metric_type": "throughput",
          "threshold": 20, 
          "operator": "<",
          "adjustment": "-1"
        },
        {
          "metric_type": "throughput",
          "threshold": 80, 
          "operator": ">",
          "adjustment": "+1"
        },
     {
          "metric_type": "responsetime",
          "threshold": 100, 
          "operator": "<",
          "adjustment": "-1"
        },
        {
          "metric_type": "responsetime",
          "threshold": 200, 
          "operator": ">",
          "adjustment": "+1"
        }
    ]
}

參考官方文件:CloudFoundry

相關文章