docker部署keepalived非抢占单播模式

之前咱们学习了keepalive的各种模式,详情可以查看这个笔记https://sulao.cn/post/877.html,这次我们就在上次学习的基础上部署keepalive非抢占单播模式在配置部署之前我们我们先了解下单播,组播,广播这些词的概念单播:在同一局域网内,两个设备点对点的通信就是单播通信。组播:在同一网络可达范围内,一个网络设备与关心其数据的部分设备进行通信就是组播。广播:在同一网络可达范围内,一个网络设备向本网络内所有设备进行通信就是广播。在组播模式下,keepalived将全部的心跳包信息都会向默认的224.0.0.18的组播地...

阅读全文

k8s执行命令提示连接服务器was refuused

有时我们在服务器异常重启以后,部署在上面的k8s执行kubectl命令直接提示The connection to the server 192.168.1.72:6443 was refused - did you specify the right host or port?出现这种情况时我们可以先检查kubelet和docker服务的状态,有时我们重启可能需要等一下k8s服务拉起来如果上述方式...

阅读全文

设置k8s节点不调度pod和节点驱逐的方法

在k8s的项目中今天需要停止某一节点的服务,对该节点进行更新、升级、或者是更换硬件时,这个时候需要对节点进行设置,让其不参与k8s的调度,具体的设置方法如下使用cordon设置节点不可调度kubectl cordon node_namekubectl uncordon node_name #取消不可调度当使用cordon来设置节点不可调度时,目前运行在该节点上的POD不受影响,能够继续运行当使用cordon设置以后查看node时,该节status后面会跟一个SchedulingDisabled的状态如...

阅读全文

pod报错no space left on device的解决方法

查看k8s上有一些POD日志中提示Error:failedtocreateFSwatcher:nospaceleftondevice看到这个错误提示第一时间想到的是是不是磁盘用满了,然后我开始检查机器上的资源,包含CPU,内存,硬盘发现上面检查项均为正常的然后describenode发现节点上的配额还有很多,实际使用已分配的资源都不高,然后我翻找资料,有提示相关的内核方面的问题,需要优化调整fs.inotify.max_user_watches的值sysctl fs.inotify.max_user_watches用上述命...

阅读全文

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...

阅读全文

k8s污点和容忍度

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

阅读全文