centos7使用haproxy部署k8s高可用集群

之前我们部署k8s多master高可用集群中使用的代理均衡器是nginx,这次我们使用haproxy来做负载均衡器,之前的笔记也会用到,可以查看之前的笔记:https://sulao.cn/post/953.html直接从之前笔记中的安装nginx处开始,由于此处是使用haproxy替代原来的nginx,所以我们直接安装haproxy,本次笔记和上述笔记基本一致,只有nginx/haproxy和keepalived处略有不同yum install haproxy -y安装完成以后我们现手工添加VIPip addr&...

阅读全文

k8s多master集群更新证书

我本地环境是三个master的k8s集群192.168.1.72   master1192.168.1.73   master2192.168.1.74   master3首先第一个master节点更新证书,我们首先需要导出资源清单kubectl get cm kubeadm-config -n kube-system -o yaml >/etc/kubernetes/ku...

阅读全文

centos7删除POD一直Terminating无法销毁

目前我的k8s环境容器是使用的containerd,删除POD以后一直terminating,无法销毁,然后查看terminating的POD有以下事件报错  Normal   Killing        8m16s                 &nbs...

阅读全文

centos7部署k8s多master高可用集群(k8s+containerd+nginx+keepalived)

集群部署k8s1.23.0版本,容器使用的是containerd1.7.10版本规划的集群信息如下192.168.1.72   master1192.168.1.73   master2192.168.1.74   master3192.168.1.75   node1192.168.1.78   VIP然后在上述三个master分别部署nginx,keepalive,其中nginx代理后端...

阅读全文

centos下k8s集群docker切换containerd

之前有记录使用containerd部署k8s集群的笔记,这次记录一个已有k8s集群从docker切换到containerd方法的笔记,下面就介绍切换的操作过程首先下载containerd包wget https://github.com/containerd/containerd/releases/download/v1.7.10/cri-containerd-1.7.10-linux-amd64.tar.gz部署containerdtar -zxvf cri-containerd-1.7.10-linux-amd64.tar...

阅读全文

centos7使用containerd部署k8s集群

由于k8s高版本后面不支持docker,所以需要使用containerd替代docker,下面是部署过程,整个部署基本和原来记录的差距不大,但是还是有些注意事项首先关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭selinux:sed -i 's/enforcing/disabled/' /etc/selinux/configsetenforce 0关闭swap交换分区swapoff&...

阅读全文

k8s修改证书有效期,适用于k8s1.17以上版本

之前我们做过k8s证书续期的笔记,但是1.19以上版本就有些不一样了,所以重新记录一篇,感兴趣的可以查看我之前的笔记:https://sulao.cn/post/846.htmlk8s大体上续订证书基本还是一致的,也是下载k8s对应版本源码,然后编译kubeadm,使用新的kubeadm进行证书续期此方式使用范围是1.17-1.23版本。我们首先下载golang,编译的时候需要使用到wget https://golang.google.cn/dl/go1.21.5.linux-amd64.tar.gztar -zxvf ...

阅读全文

k8s基于role创建指定命名空间下的账户和config管理文件

之前我们学习了创建基于集群级别的账号和管理配置的方法,具体可以查看这个笔记:https://sulao.cn/post/939.html。实际在k8s的使用过程中,我们通常以命名空间来隔离项目或者团队,那么这个时候就有一些需求,就是通过k8sRBAC创建的账户只用于某一个命名空间下,那么这样的账户创建和之前基于集群的创建是稍有区别的,那么我们一起来看看创建过程和创建方法前面的操作也是一样,需要创建一个私钥和证书签名请求openssl genrsa -out sulao.key 2048openssl ...

阅读全文

k8s基于clusterrole创建集群级别只读账户和config管理文件

有时k8s我们需要给一些人员进行查询使用,并不希望该账户又太多权限,这个时候我们需要创建一个只读权限的CLusterRole,并重新生一个对应权限的config文件,然后将这个config文件分发下,这样就能让其它用户可以查看k8s集群,但是只有只读权限。在创建账户之前,我们现了解下config文件构成kubectl config view apiVersion: v1clusters:- cluster:    certificate-author...

阅读全文

k8s磁盘容量限制的方法

容器在运行中产生的日志和临时如果没有限制,会很快占满宿主的磁盘空间,导致磁盘写爆,今天就介绍下常见的限制POD使用容量的方法。POD容器的临时存储如果在kubelet的配置没有更改的情况下默认存储在/var/lib/kubelet/pods目录下,容器的日志存放在/var/log/pods目录下。docker容器rootfs默认位于/var/lib/docker目录下当节点磁盘存储资源不足,kubelet会驱逐掉一些POD来释放存储资源,这种检测磁盘资源不足的信息主要来源于imagesfs和nodefs,他们分别的作用是:imagefs:容器运行时用作存...

阅读全文