# Nomos 常見的Q&A ## Platform Nomos目前支援兩種串接k8s方式: 1. create platform (2023/3) 目前僅支援ubuntu 18.04版本作業系統 [enable HA mode]如果勾選,下方的master必須要有三台主機設定 [deploy worker on master node]預設是勾選的,代表下方的master node節點上,也會安裝worker角色的相關功能。 2. add platform 串接現有的k8s platform時,vendor請先選擇private。 server欄位是https://(vm ip):6443 (請記得6443 port可允許Nomos IP可以連線) Auth Type請選擇Client Certificate 請參考k8s config,取得certificate-authority-data、client-certificate-data以及client-key-data。 請透過kubectl get svc -n monitoring 取得prometheus service port。 ## 設定NFS storage串接 Nomos支援kubernetes StorageClass,因此,k8s要串接storage之前,要確認該Storage有csi driver可以安裝。下面以NFS方式為例: 在k8s內,安裝nfs csi driver: sudo apt update && apt install nfs-common -y git clone https://github.com/kubernetes-csi/csi-driver-nfs.git cd csi-driver-nfs/ sudo ./deploy/install-driver.sh master local 安裝好csi driver之後,回到Nomos Portal,新增StorageClass,以下為重要欄位必填資訊: driver : nfs.csi.k8s.io parameter(volumeAttributes) : server : xxx.xxx.xx.xx share : /shared/path/example(輸入正確路徑) 新增完畢之後,即可建立PersistentVolumeClaims。 ## Horizontal Pod AutoScaling新增之後為什麼不會自動擴展? Metric Server是提供即時數據的服務,如果沒有安裝啟動的話,HPA是無法得知即時監控數據,HPA就無法做出判斷。要安裝啟動的話,可以參考官方說明, https://github.com/kubernetes-sigs/metrics-server 或是執行以下指令安裝。 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 如果metrics server pod無法成功執行,檢查logs紀錄若是看到以下訊息, ``` x509: cannot validate certificate ``` 修改metrics server的deployment定義即可。 kubectl edit -n kube-system deployment metrics-server 找到以下區塊,再新增一筆參數設定:(- --kubelet-insecure-tls) ``` containers: - args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname - --kubelet-use-node-status-port - --metric-resolution=15s ``` 最後檢查HPA是否正確執行: ``` root@node1:~# kubectl get hpa -n ilox8cdemodev NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE wordpress-hap Deployment/wordpress-deployment 1%/75% 1 3 1 8m4s ``` ## 如果直接在k8s cmd部署yaml檔,我可以讓Nomos呈現相關resource嗎? 可以,請在yaml檔內,加入相關label與annotation設定 labels: geminiopencloud.com/type: native_resource geminiopencloud.com/request-id: <uuid> geminiopencloud.com/platform: <platform_name> geminiopencloud.com/user: <user_id> geminiopencloud.com/project: "<project_id>" annotations: geminiopencloud.com/user: '{"id": "<user_id>", "username": "<username>", "display_name": "<user_display_name>", "email": "<user_email>"}' geminiopencloud.com/project: '{"id": <project_id>, "name": "<project_name>"}' 上述的參數中,uuid請利用uuid 產生器隨機產生即可。 其他的參數如果不知道如何填寫,可以透過Nomos Portal任意建立一組簡單的resource,比如nginx pod,即可參考。 ## 如果您想試試看,可以參考wordpress範例。 reference to : josedom24的github https://github.com/josedom24/kubernetes/tree/master/ejemplos/wordpress2
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up