- 博客(71)
- 收藏
- 关注
原创 杀掉 Nacos 进程重启单节点脚本
nacos-restart.sh#!/bin/bash# 服务名name="nacos-server"# 过滤nacos-server进程ID=`ps -ef | grep "$name" | grep -v "grep" | awk 'NR==1{print $2}'`# 杀掉进程kill -9 $ID# 路径nacos_server_path=/data/nacos...
2023-12-22 13:52:00
496
原创 shell 脚本一键部署 k8s 高可用集群
github地址:https://github.com/Johnny-Demo/deploy/tree/k8s-clusterREADME.md要修改脚本里面的 ip 地址,根据自己情况修改,然后在部署,要不然会出错。 执行 kernel.sh 升级 linux 内核,关闭 selinux 和 swap 分区,重启服务器。 执行 run.sh 部署k8s,master 和 node 手动...
2023-10-27 19:47:00
324
原创 Etcd 节点为啥不能设置偶数
在etcd集群中,最好不要设置偶数数量的节点。这是因为etcd使用Raft一致性算法来确保数据的一致性和高可用性。Raft算法要求在进行Leader选举和数据复制时,节点数必须是奇数个,以保证算法的正确性和容错性。主要原因如下:Leader选举:Raft算法通过选举一个Leader节点来处理所有的写入请求。在偶数节点数的情况下,如果节点数刚好平分,则可能导致选举过程中出现平票,进而无法决...
2023-07-21 20:35:00
636
原创 Master 运行容器和不运行容器的影响
1、安全性:Master节点包含着整个集群的重要控制和管理组件,如kube-apiserver、kube-controller-manager、kube-scheduler等。如果在Master节点上运行业务容器,会增加受到攻击的风险。因此,不运行业务容器有助于保持Master节点的纯净和安全。2、性能:Master节点负责处理集群的各种管理任务,需要足够的计算资源来保证集群的正常运行。如果在...
2023-07-21 18:47:00
204
原创 Loki+Promtail+Grafana 监控 K8s 日志
Loki 架构:1、loki:服务端,负责存储日志和处理查询2、promtail:采集端,负责采集日志发送给loki3、grafana:负责采集日志的展示创建 yaml 文件cat loki-rbac.yamlapiVersion: v1kind: ServiceAccountmetadata: name: loki namespace: thanos-monitorin...
2023-07-14 18:04:00
820
原创 Docker开启远程端口访问2375
开启方法:1、修改/etc/default/docker下的配置cat >> /etc/default/docker <<EOFDOCKER_OPTS="-H tcp://0.0.0.0:2375"EOFsystemctl restart docker2、修改/usr/lib/systemd/system/docker.service配置cat >&g...
2023-07-07 19:26:00
2800
原创 Jumpserver 部署
GitHub 地址:https://github.com/jumpserver/jumpserver本次部署 Jumpserver 是3.3.1版本执行 Jumpserver 部署脚本curl -sSL https://github.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash部署成功之后...
2023-06-12 19:31:00
117
原创 etcdctl 查看 etcd 集群状态或者数据脚本
#!/bin/bash# Author: Michael Lee# Email: xxx@163.com# Date: 07/26/2022# Filename: etcd.sh# 定义变量url="https://github.com/etcd-io/etcd/releases/download/v3.4.14/etcd-v3.4.14-linux-amd64.tar.gz"...
2022-10-26 16:54:00
2191
原创 sealer 自定义 k8s 镜像并部署高可用集群
sealer 可以自定义 k8s 镜像,想把一些 dashboard 或者 helm 包管理器打入 k8s 镜像,可以直用 sealer 来自定义。sealer 部署的 k8s 高可用集群自带负载均衡。sealer 的集群高可用使用了轻量级的负载均衡 lvscare。相比其它负载均衡,lvscare 非常小仅有几百行代码,而且 lvscare 只做 ipvs 规则的守护,本身不做负载非常稳定,...
2022-06-30 11:17:00
1878
原创 win10 或者 win11 提示需要使用新应用以打开此 WindowsDefender 链接
以管理员身份运行 powershell在 powershell 界面输入以下命令:1、Set-ExecutionPolicy Unrestricted得到确认提示输入 "y"2、Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLoca...
2022-06-14 21:23:00
3686
原创 sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory
k8s 配置 iPV4 流量转发以后,执行 sysctl -p 命令提示 No such file or directory,这是因为没开启 ipvs 模块。临时执行modprobe br_netfilter永久cat > /etc/sysconfig/modules/ipvs.modules << EOF#!/bin/shmodprobe -- ip_vsmod...
2022-05-31 13:52:00
1637
原创 istioctl 部署 istio
istio架构:1、下载 istio 安装包[root@master1 ~]# curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.8.2 TARGET_ARCH=x86_64 sh -2、移动 istioctl 到 /usr/bin 目录下[root@master1 ~]# cp istio-1.8.2/bin/istioc...
2022-05-13 16:53:00
521
原创 helm v3 部署 ingress-nginx
1、部署 helm v3 略...(https://www.cnblogs.com/lfl17718347843/p/15709353.html)2、添加源并更新[root@master1 ingress]# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx[root@master1 ingres...
2022-04-04 18:23:00
1099
原创 kubekey 部署内置 haproxy k8s 高可用集群
内置 haproxy 高可用架构:1、下载脚本[root@master1 ~]# curl -sfL https://get-kk.kubesphere.io | VERSION=v2.0.0 sh -如果访问 Github 和 Googleapis 受限先执行以下命令再执行上面的命令export KKZONE=cn2、给脚本赋予执行权限[root@master1 ~]# chmod...
2022-03-31 05:43:00
2080
原创 sealos 离线部署 k8s 高可用集群
sealos简介sealos 特性与优势:通过内核 ipvs 对 apiserver 进行负载均衡,并且带 apiserver 健康检测,并不依赖 haproxy 和 keepalived。支持离线安装,工具与资源包(二进制程序 配置文件 镜像 yaml文件等)分离,这样不同版本替换不同离线包即可证书延期使用简单支持自定义配置内核负载,极其稳定,因为简单所以排查问题也极其简单支持9...
2022-03-30 06:10:00
1856
原创 docker-compose 部署 harbor 镜像仓库
1、安装 docker(这个就不写了,可以看https://www.cnblogs.com/lfl17718347843/p/13417304.html)略......2、安装 docker-compose[root@master2 ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-...
2022-03-27 07:59:00
2788
原创 k8s 1.22版本更换容器运行时,把 docker 替换成 Containerd
详解:1、k8s 版本1.20以后会弃用 docker,但是也可以用。但最好还是替换成解决方案中的。2、Containerd 是一个行业标准的容器运行时,强调简单性、健壮性和可移植性。3、Kubernetes 通过 CRI 接口的形式将 Containerd 用作 Kubernetes 集群的容器运行时。架构图一、部署 containerd1、创建配置文件[root@master1...
2022-03-06 12:43:00
4178
原创 部署 helm3 包管理器
1、下载 helm3 的安装包wget https://get.helm.sh/helm-v3.0.0-linux-amd64.tar.gz2、解压并赋予权限[root@node2 ~]# tar -zxf helm-v3.7.1-linux-amd64.tar.gz[root@node2 ~]# lsanaconda-ks.cfg helm-v3.7.1-linux-amd64.t...
2021-12-20 04:10:00
223
原创 下载镜像提示 output: Error response from daemon: Get https://k8s.gcr.io/v2/: x509: certificate has expired...
出现这问题可能是两种原因:1、k8s 所有节点的时间不统一。2、k8s 配置文件镜像仓库有问题问题:[root@master1 ~]# kubeadm config images pull --config kubeadm-config.yamlW0920 01:12:10.794030 2723 configset.go:202] WARNING: kubeadm cannot...
2021-10-23 08:29:00
1603
原创 删除 k8s 中状态一直为 Terminating 的 namespace
查看ns或者namespace[root@master1 ~]# kubectl get ns NAME STATUS AGEdefault Active 5d1helastic-system Active 4h49mkube-logging Active 4d22h...
2021-10-14 17:31:00
639
原创 部署 k8s 备份工具 velero
简介:Velero 是一个云原生的灾难恢复和迁移工具,采用 Go 语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源和持久卷。velero是备份整个 k8s 集群所有的数据,胜过 etcd 备份。Velero目前包含以下特性:支持Kubernetes集群数据备份和恢复支持复制当前Kubernetes集群的资源到其它Kubernetes集群支持复制生产环境到开发以及测试环境...
2021-10-04 23:36:00
1945
1
原创 lens 添加 k8s 集群
官方下载地址:https://k8slens.dev/github:https://github.com/lensapp/lens1、找到k8s中的config文件文件路径~/.kube/configcat configapiVersion: v1clusters:- cluster: certificate-authority-data: LS0tLS1CRUdJTiB...
2021-09-22 02:07:00
5189
原创 通过备份 Etcd 来完美恢复 Kubernetes 中的误删数据
误删除或者服务器宕机,会导致 Etcd 数据的丢失或某个节点的 Etcd 数据异常时,当误删时,需要恢复数据,这个在实际环境当中是不可避免的。以下描述删除两个 namespace 下的 Pod,如何恢复对应 namespace 的数据。1、操作环境3 个(master、etcd)+1 个 node新建 1 个 namespace 下且创建 Pod 和 default namespace ...
2021-07-22 01:47:00
791
2
原创 修改kubernetes-dashboard默认token认证时间
详解:k8s默认dashboard token时间是900s,15分钟,到期后会自动退出登陆。解决办法:修改默认时间找到部署dashboard的yaml文件增加其中这一行[root@master1 ~]# cat recommended.yaml # Copyright 2017 The Kubernetes Authors.## Licensed under the Apache ...
2021-07-09 15:33:00
962
4
原创 k8s常见面试题
1、简述ETCD及其特点?etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。特点:简单:支持 REST 风格的 HTTP+JSON API安全:支持 HTTPS 方式的访问快速:支持并发 1k/s 的写操作可靠:支持分布式结...
2021-05-28 00:57:00
732
原创 cgroup中对cpu资源控制的方式
cgroup中对cpu资源控制的方式大约有三种:1、通过cpu子系统中的 cpu quote 方式2、通过cpu子系统中的 cpu share 方式3、通过cpuset子系统中的 cpuset 将任务绑定到相应的cpu核上...
2021-03-15 15:33:00
571
原创 kube-proxy 原理
kube-proxy & service必要说明kube-proxy其实就是管理service的访问入口,包括集群内Pod到Service的访问和集群外访问service。 kube-proxy管理sevice的Endpoints,该service对外暴露一个Virtual IP,也成为Cluster IP, 集群内通过访问这个Cluster IP:Port就能访问到集群内对应的ser...
2021-03-15 14:14:00
1684
原创 k8s集群优化
1、内核参数调化fs.file-max=1000000# max-file 表示系统级别的能够打开的文件句柄的数量, 一般如果遇到文件句柄达到上限时,会碰到# "Too many open files"或者Socket/File: Can’t open so many files等错误。# 配置arp cache 大小net.ipv4.neigh.default.gc_thresh1=...
2021-03-12 17:56:00
2492
1
原创 k8s集群从一千节点增加到五千台节点遇到的瓶颈
Kubernetes 自从1.6起便号称可以承载 5000 个以上的节点,但是从数十到 5000 的路上,难免会遇到问题。在 kubernetes 5000 之路上的经验,包括遇到的问题、尝试解决问题以及找到真正的问题。1、问题一:1 ~ 500 个节点之后问题:kubectl 有时会出现 timeout ( p.s. kubectl -v=6 可以显示所有 API 细节指令)尝试...
2021-03-04 15:22:00
1445
原创 k8s的service和ep是如何关联和相互影响的
1、ephemeral storage 是k8s 1.8引入的特性,用作限制临时存储,可为Pod的每个容器单独配置。2、它包括四个方面:EmptyDie volumes、Container logs、image layers和container writable layers。注:容器可写层即向容器内写入文件时占用的存储。3、当任意一个容器超过限制,或整个Pod超过限制,则Pod将被放逐(...
2021-03-03 18:59:00
1684
原创 一个经典pod完整生命周期
Pending:Pod 定义正确,提交到 Master,但其包含的容器镜像还未完全创建。通常处在 Master 对 Pod 的调度过程中。ContainerCreating:Pod 的调度完成,被分配到指定 Node 上。处于容器创建的过程中。通常是在拉取镜像的过程中。Running:Pod 包含的所有容器都已经成功创建,并且成功运行起来。Successed:Pod 中所有容器都成功结束,...
2021-03-03 17:01:00
329
原创 k8s中的pod内几个容器之间的关系是什么
pod可以想象成一个篮子,而容器则是篮子里的鸡蛋,他们之间的关系主要变现为以下几点:1、一个pod里的容器能有多少资源也取决于这个篮子的大小。2、label也是贴在篮子上的。3、IP分配给篮子而不是容器,篮子里面的所有容器共享这个IP。(pod是IP等网络资源的分配的基本单位,这个IP及其对应的network namespace是由pod里的容器共享的;)4、哪怕只有一个鸡蛋(容器),K...
2021-03-03 16:28:00
5713
原创 kubernetes包含几个组件。各个组件的功能是什么。组件之间是如何交互的。
1、Master组件API Server:K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API。所有的请求都需要经过这个接口进行通信。主要负责接收、校验并响应所有的REST请求,结果状态被持久存储在etcd当中,所有资源增删改查的唯一入口。etcd:负责保存k8s 集群的配置信息和各种资源的状态信息,当数据发生变化时,etcd会快速...
2021-03-03 15:29:00
2506
1
原创 k8s的pause容器有什么用?是否可以去掉?
一、详解在检查k8s集群状态的时候会发现有很多 pause 容器运行于服务器上面,然后每次启动一个容器,都会伴随一个pause容器的启动。那它究竟是干啥的?Pause容器,又叫Infra容器,下面通过实验来理解它。Pause容器,是可以自己来定义,官方使用的gcr.io/google_containers/pause-amd64:3.0容器的代码见Github。kubelet的配置中...
2021-02-28 08:08:00
3600
原创 强制删除pod,namespace等
强制删除 pvckubectl patch pvc pvc-9cd01e19-93b4-4bd8-bfc8-9d96cbe03f46 -p '{"metadata":{"finalizers":null}}' -n NAMESPACENAME强制删除 podkubectl delete pod PODNAME --force --grace-period=0 -n NAMESPACEN...
2021-02-11 15:25:00
279
原创 k8s安装metrics-server
Kubernetes Metrics Server:Kubernetes Metrics Server 是 Cluster 的核心监控数据的聚合器,kubeadm 默认是不部署的。Metrics Server 供 Dashboard 等其他组件使用,是一个扩展的 APIServer,依赖于 API Aggregator。所以,在安装 Metrics Server 之前需要先在 kub...
2021-01-15 19:17:00
1081
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人