七、Kubernetes学习指南:保姆级实操手册07——calico安装、metric-server安装

一、calico

Calico是一个开源的虚拟化网络方案,支持基础的Pod网络通信和网络策略功能。

官方文档:https://projectcalico.docs.tigera.io/getting-started/kubernetes/quickstart

1、calico安装
### 在Master控制节点执行 (二选一) 
方法一:
# 下载最新版本编排文件  
$ kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

方法二:
# 下载指定版本编排文件(可选)  
$ curl https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/calico.yaml -O  
# 部署calico  
$ kubectl apply -f calico.yaml
2、检查
kubectl get pod -n kube-system | grep calico

[root@k8s-master01 ~]# kubectl get node
NAME           STATUS   ROLES           AGE    VERSION
k8s-master01   Ready    control-plane   4d6h   v1.28.2
k8s-master02   Ready    control-plane   4d5h   v1.28.2
k8s-master03   Ready    control-plane   4d3h   v1.28.2
k8s-node01     Ready    <none>          4d2h   v1.28.2
k8s-node02     Ready    <none>          4d2h   v1.28.2
k8s-node03     Ready    <none>          4d2h   v1.28.2

二、metric-server

指标服务Metrices-Server是Kubernetes中的一个常用插件,它类似于Top命令,可以查看Kubernetes中Node和Pod的CPU和内存资源使用情况。Metrices-Server每15秒收集一次指标,它在集群中的每个节点中运行,可扩展支持多达5000个节点的集群

1、metric-server安装
在任意k8s-Master01管理节点执行  
$ wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server.yaml
2、修改配置文件
# 修改配置:
1.修改image 源 
2.添加 参数 - --kubelet-insecure-tls   
$ vim metrics-server.yaml   
......  
  
    spec:  
      containers:  
      - args:  
        - --cert-dir=/tmp  
        - --secure-port=4443  
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname  
        - --kubelet-use-node-status-port  
        - --metric-resolution=15s  
        - --kubelet-insecure-tls  # 添加参数,不验证由K8S提供的CA或服务证书。  
        image: registry.aliyuncs.com/google_containers/metrics-server:v0.7.0   # 修改成阿里云镜像  
        imagePullPolicy: IfNotPresent  
......
3、部署metrics-server
kubectl apply -f metrics-server.yaml
4、查看启动状态
[root@k8s-master01 ~]# kubectl get pod -n kube-system |grep metrics
metrics-server-768c789bff-vhf6j            1/1     Running   0             2m51s
5、查看集群状态
[root@k8s-master01 ~]# kubectl top node
NAME           CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
k8s-master01   315m         3%     3824Mi          24%
k8s-master02   249m         3%     3279Mi          20%
k8s-master03   206m         2%     3311Mi          20%
k8s-node01     85m          1%     2704Mi          17%
k8s-node02     111m         1%     2769Mi          17%
k8s-node03     83m          1%     2648Mi          16%