Kubernetes学习笔记04
  aNy5PUCye2R8 2023年11月02日 52 0

1、使用metric-server监控pod及节点负载

1.1 安装metrics-server

docker pull mirrorgooglecontainers/metrics-server-amd64:v0.3.6

1.2 所有节点上进行tag操作

docker tag mirrorgooglecontainers/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6

1.3 下载metric-server

curl -Ls https://api.github.com/repos/kubernetes-sigs/metrics-server/tarball/v0.3.6 -o metrics-server-v0.3.6.tar.gz

1.4 解压文件

tar xf metrics-server-v0.3.6.tar.gz

1.5 进入特定目录

[root@master ~]# cd kubernetes-sigs-metrics-server-d1f4f6f/deploy/1.8+/
[root@master ~/kubernetes-sigs-metrics-server-d1f4f6f/deploy/1.8+]# ls
aggregated-metrics-reader.yaml  auth-reader.yaml         metrics-server-deployment.yaml  resource-reader.yaml
auth-delegator.yaml             metrics-apiservice.yaml  metrics-server-service.yaml

1.6 编辑配置文件

[root@master ~/kubernetes-sigs-metrics-server-d1f4f6f/deploy/1.8+]# vim metrics-server-deployment.yaml 
...末行添加
    imagePullPolicy: IfNotPresent
    command:
      - /metrics-server
      - --metric-resolution=30s
      - --kubelet-insecure-tls
      - --kubelet-preferred-address-types=InternalIP

1.7 运行文件

kubectl apply -f .

1.8 查看容器运行状态

[root@master ~]# kubectl get pods -n kube-system | grep metric  
metrics-server-bcfb98c76-5v794             1/1     Running   0          61s

1.9 查看节点负载

[root@master ~]# kubectl top nodes --use-protocol-buffers 
NAME     CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   
master   72m          1%     0Mi             0%        
node1    48m          1%     0Mi             0%        
node2    41m          1%     0Mi             0%        
node3    71m          1%     0Mi             0%

1.10 查看pod负载

[root@master ~]# kubectl top pods -n kube-system --use-protocol-buffers 
NAME                                       CPU(cores)   MEMORY(bytes)   
calico-kube-controllers-7cc8dd57d9-qzc2v   2m           21Mi            
calico-node-74wx2                          33m          157Mi           
calico-node-759t9                          38m          107Mi           
calico-node-8qjzg                          23m          154Mi           
calico-node-jg4ld                          27m          151Mi           
coredns-545d6fc579-mt5v5                   3m           19Mi            
coredns-545d6fc579-sw8bz                   4m           16Mi            
etcd-master                                13m          82Mi            
kube-apiserver-master                      42m          428Mi           
kube-controller-manager-master             15m          62Mi            
kube-proxy-5kdvd                           1m           30Mi            
kube-proxy-5mhh9                           1m           19Mi            
kube-proxy-c54vr                           1m           25Mi            
kube-proxy-mzrqv                           1m           28Mi            
kube-scheduler-master                      3m           29Mi            
metrics-server-bcfb98c76-5v794             1m           13Mi

1.11 查看pod地址

[root@master ~]# kubectl get pods -n kube-system -o wide | grep metri
metrics-server-bcfb98c76-5v794             1/1     Running   0          9m52s   10.244.104.1     node2

2、命名空间

Namespace为名称提供了一个范围,资源的Names在Namespace中具有唯一性。

如果有多个用户或项目使用同一个Kubernetes Cluster,可以使用Namespace对他们创建的Controller、Pod等资源进行隔离,Namespace可以将一个物理的Cluster分成多个Cluster,每个虚拟的Cluster就是一个Namespace,不同Namespace里的资源是完全隔离的。

名字空间为K8s集群提供虚拟的隔离作用,K8s集群初始有两个名字空间,分别是默认名字空间default和系统名字空间kube-system,除此之外,管理员可以创建新的名字空间满足需要。

2.1 查看命名空间

kubectl get namespaces 或 kubectl get ns

[root@master ~]# kubectl get namespaces 
NAME              STATUS   AGE
default           Active   9d
kube-node-lease   Active   9d
kube-public       Active   9d
kube-system       Active   9d
[root@master ~]# kubectl get ns 
NAME              STATUS   AGE
default           Active   9d
kube-node-lease   Active   9d
kube-public       Active   9d
kube-system       Active   9d

2.2 下载切换命名空间工具

ftp://ftp.rhce.cc/cka-tool/kubens

wget ftp://ftp.rhce.cc/cka-tool/kubens -P /bin/
chmod u+x /bin/kubens

2.3 查看Namespace

[root@master ~]# kubens 
default
kube-node-lease
kube-public
kube-system

2.4 创建新的命名空间

使用kubectl create namespace XXX和kubectl create ns XXX都可以

[root@master ~]# kubectl create namespace ns1
namespace/ns1 created
[root@master ~]# kubectl create ns ns2 
namespace/ns2 created

2.5 切换命名空间

使用kubectl命令

kubectl config set-context kubernetes-admin@kubernetes --namespace ns1

使用kubectl命令(不切换集群)

kubectl config set-context --current --namespace default

使用kubens工具

[root@master ~]# kubens ns1 
Context "kubernetes-admin@kubernetes" modified.


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  O704k6GYsxMM   2023年11月13日   21   0   0 rkeDockerkubernetes