您好,登錄后才能下訂單哦!
kubectl是一個工具,類似于etcdctl一樣,不是必須安裝的工具。各節點和管理節點的通訊都是通過api-server進行的。api-server可以部署在任意的節點上,kube-proxy也是一樣的,都是獨立的組件。
kubectl top 可以很方便地查看node、pod的實時資源使用情況:如CPU、內存。
kubectl top 、 k8s dashboard 以及 HPA 等調度組件使用的數據是一樣,數據鏈路如下:
這里可以對比下kubect get pod時的日志:
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/auth-delegator.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-server-service.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/auth-reader.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-apiservice.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/metrics-server-deployment.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/aggregated-metrics-reader.yaml
wget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/resource-reader.yaml
核心配置:
containers:
- name: metrics-server
image: k8s.gcr.io/metrics-server-amd64:v0.3.2
imagePullPolicy: IfNotPresent
#修改為本地有鏡像優先使用
command:
- /metrics-server
- --metric-resolution=30s
- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
#容器的預設值 腳本
volumeMounts:
- name: tmp-dir
mountPath: /tmp
docker pull k8s.gcr.io/metrics-server-amd64
由于該鏡像在國外所以可能使用其他途徑 代理上網或者本地導入
代理上網法
mkdir -p /etc/systemd/system/docker.service.d
#創建放代理的文件夾,默認沒有
echo '[Service]
Environment="HTTP_PROXY=192.168.0.26:8118" "HTTPS_PROXY=192.168.0.26:8118"' >/etc/systemd/system/docker.service.d/http-proxy.conf
#創建代理的配置件,前提得有能訪問到國外鏡像服務器的代理服務器
systemctl daemon-reload
systemctl restart docker
#重啟docker
以上腳本運行一下 就能pull 到國外鏡像了
本地導出導入法
先到拉取完畢的主機上導出
docker save -o metrics-server-amd64:v0.3.2.tar k8s.gcr.io/metrics-server-amd64:v0.3.2
#.tar 為完成的打包文件,后面的是需要導出的鏡像名需要帶版本名,鏡像名用docker images 查看
導入
docker load <metrics-server-amd64\:v0.3.2.tar
4.應用
kubectl apply -f ./
#應用下載的所有yaml文件
kubectl get pod -n kube-system
#查看一下pod 是否正常
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。