k8s扩容pv存储的方法

k8s之前配置存储卷容量太小,之前设置的容量规格已经不能满足现有资源存储,那么我们需要进行扩容kubernetes1.11版本中开始支持pvc创建后的扩容,这点很方便,但是还是有前提,是我们必须配置存储资源对象StorageClass如果配置了的话我们接着往下看,修改扩容的步骤比较简单,此次所有的配置修改可以直接查看上次的一个笔记:https://sulao.cn/post/826.html我们首先看下storageclasskubectl get scNAME     &nbs...

阅读全文

k8s安装prometheus

k8s安装prometheus我本地安装的k8s是1.19.9这个版本,需要找到对应的安装版本kube-prometheusstackKubernetes1.19Kubernetes1.20Kubernetes1.21Kubernetes1.22Kubernetes1.23release-0.7✔✔✗✗✗release-0.8✗✔✔✗✗release-0.9✗✗✔✔✗release-1.0✗✗✗✔✔main✗✗✗✔✔目前我这个版本对应的是prometheusrelease-0.7这个版本,那么我们就直接打开https://github.co...

阅读全文

查看ECTD中数据的方法

kubernetes的API对象的数据都保存在etcd中我们在实际环境中要管理ETCD需要使用ETCDCTL工具,所以我们需要下载相关工具下载地址是:https://github.com/etcd-io/etcd/releases目前最新版是3.5.4,我们下载解包,然后添加环境变量即可使用etcdctl工具wget https://github.com/etcd-io/etcd/releases/download/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gztar -zxvf etcd-v...

阅读全文

k8s使用secret拉取私有镜像

我们在拉取仓库镜像时需要先dockerlogin,然后有很多节点的时候这么操作很苦逼,所以可以用过创建secret方式来做一些配置到pod的yaml文件中,这样就会无需手工去登录也能拉取镜像,下面我们来看看如何操作我们如果不在调度节点使用dockerlogin登录仓库,或者其他配置时,我们直接创建的pod拉取镜像event会有如下报错那么我们来看看secret的方式拉取私有仓库的镜像,首先,我们需要创建一个用户名密码的secretkubectl -n test create secret docker...

阅读全文

k8s证书有效期修改

1.首先我们查看当前证书有效期,有几种方式可以查询第一种方式:kubeadm alpha certs check-expiration第二种方式:cd /etc/kubernetes/pkifor i in $(ls *.crt); do echo "===== $i ====="; openssl x509 -in $i -text -noo...

阅读全文

ETCD状态检查以及碎片压缩

在安装了etcd3.10版本之后,使用etcdctl和etcd交互时需要将api版本设置为3,默认,为了向后兼容etcdctl使用v2API来和etcd服务器通讯。为了让etcdctl使用v3API来和etcd通讯,API版本必须通过环境变量ETCDCTL_API设置为版本3export ETCDCTL_API=3查看ETCD版本方法etcd --version#返回etcd Version: 3.4.13Git SHA: ae9734ed2Go...

阅读全文

k8s污点和容忍度

节点亲和性是Pod的一种属性,它使Pod被吸引到一类特定的节点。这可能出于一种偏好,也可能是硬性要求。Taint(污点)则相反,它使节点能够排斥一类特定的Pod。容忍度(Tolerations)是应用于Pod上的,允许(但并不要求)Pod调度到带有与之匹配的污点的节点上。污点和容忍度(Toleration)相互配合,可以用来避免Pod被分配到不合适的节点上。每个节点上都可以应用一个或多个污点,表示对于那些不能容忍这些污点的Pod,是不会被该节点接受的。污点和容忍度可以认为是过滤的实现,当Pod不能容忍节点上的污点时,节点将被过...

阅读全文

k8s调度策略nodename和nodeselector

在k8s中有几大核心组件,Scheduler调度器是其中的一个。调度器通过kubernetes的watch机制来发现集群中新创建且尚未被调度到Node上的Pod。调度器会将发现的每一个未调度的Pod调度到一个合适的Node上来运行。对每一个新创建的Pod或者是未被调度的Pod,kube-scheduler会选择一个最优的Node去运行这个Pod。然而,Pod内的每一个容器对资源都有不同的需求,而且Pod本身也有不同的资源需求。因此,Pod在被调度到Node上之前,根据这些特定的资源调度需求,需要对集群中的...

阅读全文

K8s配置管理configmap和secret

k8s中的secret和configmap是为了让POD和配置解耦,使得从集群外部可以想容器内部注入配置信息、环境变量等功能ConfigMap扮演了K8S集群中配置中心的角色,ConfigMap定义了Pod的配置信息,可以以存储卷的形式挂载至Pod中的应用程序配置文件目录,从ConfigMap中读取配置信息ConfigMap是明文保存的,如果用来保存数据库账号密码这类信息可以使用通过secret来保存,secret的功能和ConfigMap一样,不过secret是通过Base64的编码机制保存配置信息可以通过命令行的方式来创建configmap,如下ku...

阅读全文

k8s亲和性和反亲和性

k8s中的亲和性主要是用来做pod的调度策略,可以使pod调度到满足指定条件的节点通常我们还需要给node设置标签,pod通过设置的label标签相关的策略可以使pod关联到对应的label节点上我们先来看下测试环境的node标签kubectl get node --show-labelsNAME         STATUS   ROLES     &...

阅读全文