k8s之集群管理

本文介绍了Kubernetes集群的管理,包括如何更新资源对象的Label,利用Namespace实现集群环境的共享与隔离,部署集群监控如Metrics Server,以及安装Web UI Dashboard进行集群管理。详细讲解了Namespace的配置、Metrics Server的部署和Dashboard的使用。
摘要由CSDN通过智能技术生成

 

导读

经过前面k8s系列的文章,这一系列已经基本完成,现在就用几篇文章说一下日常的集群维护。

目录

更新资源对象的Label

Namespace:集群环境共享与隔离

部署集群监控

部署Web UI管理集群:Dashboard

更新资源对象的Label

比如对Pod进行Label的增删改。

新增:

kubectl label pod pod-name key=value

修改:

kubelet label pod pod-name key=value --overwrite

删除

kubelet label pod pod-name label_key

Namespace:集群环境共享与隔离

不同的工作组可以在同一个k8s集群中工作,k8s通过命名空间和Context的设置对不同的工作组进行区分,让它们可以在同一个k8s集群中工作

 

(1)定义Context

需要为每个工作组分别设置一个Context,即运行环境,这个运行环境属于某个命名空间

通过kubectl context set-context命令定义Context,并将Context置于某个命名空间中

例如:创建一个名为context-test1的context,绑定命名空间context-text

创建一个集群名称:

kubectl config set-cluster kubernetes --server=https://localhost:8080
kubectl  config set-context context-test1 --namespace=context-text --cluster=kubernetes

使用kubectl config view命令查看已定义的Context(不知道集群名也可以使用此命令查看)

kubectl config view

 

通过kubectl config命令在${HOME}/.kube目录下生成了一个名为config的文件,文件的内容为以kubectl config view命令查看到的内容。所以也可以通过手工编辑该文件的方式来设置Context。

(2)设置工作组在特定Context环境工作

使用如下命令设置当前运行环境

kubectl config use-context context-test1

之后所有操作都会在context-test1环境绑定的命名空间中完成。

部署集群监控

在Kubernetes新的监控体系中,Metrics Server用于提供核心指标(Core Metrics),包括Node、Pod的CPU和内存使用指标。对其他自定义指标(Custom Metrics)的监控则由Prometheus等组件来完成。

通过Metrics Server监控Pod和Node的CPU和内存资源使用数据。

Metrics Server在部署完成后,将通过Kubernetes核心API Server的“/apis/metrics.k8s.io/v1beta1”路径提供Pod和Node的监控数据。Metrics Server源代码和部署配置可以在GitHub代码库(https://github.com/kubernetes-incubator/metrics-server)找到。

首先,部署Metrics Server实例,

从https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml获取到最新的yaml文件,

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: system:aggregated-metrics-reader
  labels:
    rbac.authorization.k8s.io/aggregate-to-view: "true"
    rbac.authorization.k8s.io/aggregate-to-edit: "true"
    rbac.authorization.k8s.io/aggregate-to-admin: "true"
rules:
- apiGroups: ["metrics.k8s.io"]
  resources: ["pods", "nodes"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: metrics-server:system:auth-delegator
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:auth-delegator
subjects:
- kind: ServiceAccount
  name: metrics-server
  namespace: kube-system
-
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值