当前位置: 首页 > news >正文

找个可以直接观看的网站江门市做网站

找个可以直接观看的网站,江门市做网站,云南省建设厅勘察设计处网站,网址大全页面设置在哪目录 前言一、表象二、解决方法1、导入镜像包2、编辑yaml文件3、解决问题 三、优化改造1.修改配置文件2.检查api-server服务是否正常3.测试验证 总结 前言 各位老铁大家好,好久不见,卑微涛目前从事kubernetes相关容器工作,感兴趣的小伙伴相互…

目录

  • 前言
  • 一、表象
  • 二、解决方法
    • 1、导入镜像包
    • 2、编辑yaml文件
    • 3、解决问题
  • 三、优化改造
    • 1.修改配置文件
    • 2.检查api-server服务是否正常
    • 3.测试验证
  • 总结

前言

各位老铁大家好,好久不见,卑微涛目前从事kubernetes相关容器工作,感兴趣的小伙伴相互交流一下鸭~

一、表象

使用kubeadm、二进制方式安装的K8S,想查看集群中,node节点/pod的CUP、内存等信息,无法查看
在这里插入图片描述
报错:Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)

原因是:缺少metrics-server这个pod

二、解决方法

下面咱们手把手解决这个问题

1、导入镜像包

导入下列两个镜像包

镜像包链接:【若链接失效请私聊卑微涛】
链接:https://pan.baidu.com/s/1qo6QTqF9xSEfeN9OS9BjdQ
提取码:gjx4

#如果k8s是 docker 作为 容器运行时
docker image load -i addon.tar.gz
docker image load -i metrics-server-amd64-0-3-6.tar.gz#如果k8s是 container 作为 容器运行时
ctr -n=k8s.io images import addon.tar.gz
ctr -n=k8s.io images import metrics-server-amd64-0-3-6.tar.gz
#==================================================================
#查看k8s是哪个作为 容器运行时
kubectl get node -o wide

在这里插入图片描述

2、编辑yaml文件

注意修改对应的 images:xxx 镜像名称,其余配置无需修改

# cat metrics.yaml			#这个yaml文件在镜像包对应的目录中有,大家下载也行
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: metrics-server:system:auth-delegatorlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: system:auth-delegator
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: metrics-server-auth-readernamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: extension-apiserver-authentication-reader
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:name: metrics-servernamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: system:metrics-serverlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
rules:
- apiGroups:- ""resources:- pods- nodes- nodes/stats- namespacesverbs:- get- list- watch
- apiGroups:- "extensions"resources:- deploymentsverbs:- get- list- update- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: system:metrics-serverlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: system:metrics-server
subjects:
- kind: ServiceAccountname: metrics-servernamespace: kube-system
---
apiVersion: v1
kind: ConfigMap
metadata:name: metrics-server-confignamespace: kube-systemlabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: EnsureExists
data:NannyConfiguration: |-apiVersion: nannyconfig/v1alpha1kind: NannyConfiguration
---
apiVersion: apps/v1
kind: Deployment
metadata:name: metrics-servernamespace: kube-systemlabels:k8s-app: metrics-serverkubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcileversion: v0.3.6
spec:selector:matchLabels:k8s-app: metrics-serverversion: v0.3.6template:metadata:name: metrics-serverlabels:k8s-app: metrics-serverversion: v0.3.6spec:priorityClassName: system-cluster-criticalserviceAccountName: metrics-servercontainers:- name: metrics-serverimage: k8s.gcr.io/metrics-server-amd64:v0.3.6		#这里的镜像名称,根据导入的镜像包修改imagePullPolicy: IfNotPresentcommand:- /metrics-server- --metric-resolution=30s- --kubelet-preferred-address-types=InternalIP- --kubelet-insecure-tlsports:- containerPort: 443name: httpsprotocol: TCP- name: metrics-server-nannyimage: k8s.gcr.io/addon-resizer:1.8.4			#这里的镜像名称,根据导入的镜像包修改imagePullPolicy: IfNotPresentresources:limits:cpu: 100mmemory: 300Mirequests:cpu: 5mmemory: 50Mienv:- name: MY_POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: MY_POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: metrics-server-config-volumemountPath: /etc/configcommand:- /pod_nanny- --config-dir=/etc/config- --cpu=300m- --extra-cpu=20m- --memory=200Mi- --extra-memory=10Mi- --threshold=5- --deployment=metrics-server- --container=metrics-server- --poll-period=300000- --estimator=exponential- --minClusterSize=2volumes:- name: metrics-server-config-volumeconfigMap:name: metrics-server-confignodeSelector:galaxy-app: kce-monitortolerations:- key: "CriticalAddonsOnly"operator: "Exists"- key: node-role.kubernetes.io/mastereffect: NoSchedule
---
apiVersion: v1
kind: Service
metadata:name: metrics-servernamespace: kube-systemlabels:addonmanager.kubernetes.io/mode: Reconcilekubernetes.io/cluster-service: "true"kubernetes.io/name: "Metrics-server"
spec:selector:k8s-app: metrics-serverports:- port: 443protocol: TCPtargetPort: https
---
apiVersion: apiregistration.k8s.io/v1
kind: APIService
metadata:name: v1beta1.metrics.k8s.iolabels:kubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
spec:service:name: metrics-servernamespace: kube-systemgroup: metrics.k8s.ioversion: v1beta1insecureSkipTLSVerify: truegroupPriorityMinimum: 100versionPriority: 100

kubectl apply -f metrics.yaml #运行这个yaml文件

3、解决问题

查看对应的pod是否正常运行

kubectl get deploy -n kube-system metrics-serverkubectl get pod -n kube-system |grep metrics-server

在这里插入图片描述

等待30秒,即可正常使用了
在这里插入图片描述

三、优化改造

作为一名"老运维"工程师(好吧,就2年😉),优化+高可用是我们必须考虑的,有一次演练把这个pod删后,虽然重新拉起了,但kubectl top pod 又异常了,我们需要再做这么一个操作

1.修改配置文件

# 修改每个 API Server 的 kube-apiserver.yaml 配置开启 Aggregator Routing:修改 manifests 配置后 API Server 会自动重启生效。
$ cat /etc/kubernetes/manifests/kube-apiserver.yaml
spec:containers:- command:-  --enable-aggregator-routing=true		#增加这一行配置

在这里插入图片描述注意:/etc/kubernetes/manifests这个目录下的文件由kubelet服务检测,是静态pod,修改完即可,不需要再kubectl apply -f 运行,会自动重新建立对应的pod

2.检查api-server服务是否正常

$ kubectl describe svc metrics-server -n kube-system# 在其他几个节点ping一下Endpoints的地址
ping IP
telnet IP 443

在这里插入图片描述

3.测试验证

我们再测试一下,把metrics-server对应的pod删除后,是否能正常使用 kubectl top 指令
在这里插入图片描述

大功告成!

在这里插入图片描述


总结

"失踪"的一年多时间里,经历了很多,从数据库 --> 大数据 --> 容器,每一次改变,逼着自己跳出舒适圈,
感谢这一路的挫折,让我变得更Strong!

后续不断输出 容器&Kubernetes 相关博客

我是卑微涛,咱们下一篇文章再见了🤞

http://www.sczhlp.com/news/65357/

相关文章:

  • 网站大图分辨率做多大tp网站开发
  • (18) 关于软链接
  • 多模态推理新框架:认知思维链技术解析
  • 河南县公司网站建设哪家公司建换电站
  • 网站建设作学了dw 就可以做网站了吗
  • 移动端网站模板怎么做的商丘seo公司甄选24火星
  • 郑州网站制作计划国家建设管理信息网站
  • 阿里巴巴的网站二维码怎么做毕业设计网站论文
  • 网站设计步骤的教学设计网站建设基础考试
  • 深圳全网建站公司推荐信阳做网站公司汉狮价格
  • 小程序网站怎么做安庆专业网站建设公
  • 上弦 网站建设wordpress怎么中文字体
  • 网站核验单建站自学
  • 邯郸网站优化技巧深圳网站开发平台
  • 关于磁盘对拷的一系列trick
  • 【IEEE出版|南昌大学主办|快至3个月检索】第六届智能计算与人机交互国际研讨会(ICHCI 2025)
  • 袋鼠云产品功能更新报告14期|实时开发,效率再升级!
  • dw做网站导航网站建设后期需要做什么
  • 厦门网站制作公司推荐太仓市住房城乡建设局网站
  • 怎样做问卷网站扁平化蓝色网站模板
  • 古镇营销型网站建设合伙做网站
  • 网站多少钱一米网页游戏网站快手
  • 网站备案没有了网站改版建设情况的汇报
  • 南山网站设计费用重庆网站建设套餐
  • android wap网站中国十大策划公司排名
  • 手机网站建设动态个人网站建设报价
  • 编程笔记 - LRU Cache
  • 数据结构与算法-8.排序-插入排序
  • 数据结构与算法-9.排序-希尔排序
  • 纳芯微 OWI通讯