K8S二進(jìn)制部署的K8S(1.15)部署hpa功能
友情提醒:
#不要把啟動(dòng)文件中例如的 --authentication-token-webhook=true # 自作聰明的改為 --authentication-token-webhook true # 不然。。。。。
一、生成metrics-proxy證書
在管理機(jī)上生成證書配置文件及證書
# metrics-proxy證書請(qǐng)求
cat >metrics-proxy-csr.json <<'EOF'
{
"CN": "aggregator",
"hosts": [],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "beiJing",
"L": "beiJing",
"O": "zq",
"OU": "ops"
}
]
}
EOF
#生成mertic證書
cfssl gencert \
-ca=ca.pem \
-ca-key=ca-key.pem \
-config=ca-config.json \
-profile=peer \
metrics-proxy-csr.json | cfssl-json -bare metrics-proxy
#分發(fā)證書到master節(jié)點(diǎn)
# profile=peer 中的peer,依據(jù)自己的配置改,反正需要有server端和client的證書權(quán)限
#略,目錄在 /opt/kubernetes/server/bin/cert/
二、修改apiserver啟動(dòng)配置
修改apiserver啟動(dòng)腳本,添加以下參數(shù):
vim /opt/kubernetes/server/bin/kube-apiserver.sh --requestheader-allowed-names "" \ --requestheader-extra-headers-prefix X-Remote-Extra- \ --requestheader-group-headers X-Remote-Group \ --requestheader-username-headers X-Remote-User \ --proxy-client-cert-file ./cert/metrics-proxy.pem \ --proxy-client-key-file ./cert/metrics-proxy-key.pem \
參數(shù)說(shuō)明:
--requestheader-XXX --proxy-client-XXX:
是 kube-apiserver 的 aggregator layer 相關(guān)的配置參數(shù),metrics-server & HPA 需要使用;
--requestheader-client-ca-file:
用于簽名 --proxy-client-cert-file 和 --proxy-client-key-file 指定的證書(ca證書),在啟用了 metric aggregator 時(shí)使用;
注1:
如果 --requestheader-allowed-names 不為空,則--proxy-client-cert-file 證書的 CN 必須位于 allowed-names 中,默認(rèn)為 aggregator;如果 kube-apiserver 機(jī)器沒(méi)有運(yùn)行 kube-proxy,則還需要添加 --enable-aggregator-routing=true 參數(shù)
重啟apiserver
supervisorctl restart kube-apiserver
三、kubelet參數(shù)修改并重啟
vim /opt/kubernetes/server/bin/kubelet.sh #添加參數(shù): --authentication-token-webhook=true \ 如果有參數(shù):--read-only-port=0,則需刪除 #重啟服務(wù): supervisorctl restart kube-kubelet
四、下載metrics-server鏡像及配置清單
A 獲取配置清單(6個(gè))
項(xiàng)目地址:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/metrics-server
配置文件有兩種,單機(jī)版和集群版獲取方式:
https://github.com/kubernetes-incubator/metrics-server (單機(jī))
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/metrics-server (集群)
集群版可以自動(dòng)擴(kuò)容metrics自己,推薦使用
# 創(chuàng)建目錄 mkdir -p /data/k8s-yaml/metrics/ cd /data/k8s-yaml/metrics/ # 下載配置文件 metrics_url='https://raw.githubusercontent.com/kubernetes/kubernetes/v1.14.1/cluster/addons/metrics-server' wget $metrics_url/auth-delegator.yaml wget $metrics_url/auth-reader.yaml wget $metrics_url/metrics-apiservice.yaml wget $metrics_url/metrics-server-deployment.yaml wget $metrics_url/metrics-server-service.yaml wget $metrics_url/resource-reader.yaml
B 修改啟動(dòng)參數(shù)
## 修改metrics-server-deployment.yaml
###1 mertics-server部分修改啟動(dòng)參數(shù)鏡像地址
containers:
- name: metrics-server
image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.1
command:
- /metrics-server
- --metric-resolution=30s
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
###2 metrics-server-nanny部分修改鏡像地址及啟動(dòng)參數(shù)
......
- name: metrics-server-nanny
image: registry.cn-hangzhou.aliyuncs.com/google_containers/addon-resizer:1.8.4
.....
command:
- /pod_nanny
- --config-dir=/etc/config
- --cpu=100m
- --extra-cpu=0.5m
- --memory=100Mi
- --extra-memory=50Mi
- --threshold=5
- --deployment=metrics-server-v0.3.1
- --container=metrics-server
- --poll-period=300000
- --estimator=exponential
### 在新的版本中,授權(quán)文內(nèi)沒(méi)有 node/stats 的權(quán)限,需要手動(dòng)去添加resource-reader.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: system:metrics-server
rules:
- apiGroups:
- ""
resources:
- pods
- nodes
- nodes/stats ## 添加此參數(shù)
- namespaces
mertics-server鏡像參數(shù)解釋:
--kubelet-insecure-tls:
不驗(yàn)證客戶端證書
--kubelet-preferred-address-types
metrics-server連節(jié)點(diǎn)時(shí)默認(rèn)是連接節(jié)點(diǎn)的主機(jī)名,但是coredns里面沒(méi)有物理機(jī)主機(jī)名的解析,需要加個(gè)參數(shù),讓它連接節(jié)點(diǎn)的IP
C 應(yīng)用配置清單并驗(yàn)證
kubectl apply -f .
五、結(jié)果驗(yàn)證
[root@mmkt-api01 ~]# kubectl top nodes NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% xx01.host.com 411m 2% 36881Mi 57% xx02.host.com 509m 3% 33127Mi 51%
到此這篇關(guān)于K8S二進(jìn)制部署的K8S(1.15)部署hpa功能的文章就介紹到這了,更多相關(guān)k8s1.15 二進(jìn)制部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
分享幾個(gè)快速提升工作效率的小工具(Listary等)
這篇文章主要介紹了分享幾個(gè)快速提升工作效率的小工具(Listary等),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
git merge --ff/--no-ff/--ff-only 三種選項(xiàng)參數(shù)的區(qū)別解析
這篇文章主要介紹了git merge --ff/--no-ff/--ff-only 三種選項(xiàng)參數(shù)的區(qū)別解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
DLL(Dynamic Linkable Library) 詳解說(shuō)明
DLL文件(Dynamic Linkable Library 即動(dòng)態(tài)鏈接庫(kù)文件),是一種不能單獨(dú)運(yùn)行的文件,它允許程序共享執(zhí)行特殊任務(wù)所必需的代碼和其他資源2008-12-12
ffmpeg播放器實(shí)現(xiàn)詳解之框架搭建過(guò)程
這篇文章主要介紹了ffmpeg播放器實(shí)現(xiàn)詳解之框架搭建過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
詳解Python OpenCV數(shù)字識(shí)別案例
信用卡識(shí)別的案例用到了圖像處理的一些基本操作,對(duì)剛上手CV的人來(lái)說(shuō)還是比較友好的。2021-05-05

