k8s
k8s&发布
野猪佩挤
sad
展开
-
k8s部署mongodb-sharded7.X集群(多副本集)
默认副本数较多。我修改为3+3原创 2024-01-10 20:48:52 · 580 阅读 · 0 评论 -
Kafka集群部署 (KRaft模式集群)
在安装一个kafka-webmetadata:labels:spec:selector:template:metadata:labels:spec:env:value: '可以自定义名字 Kafka Cluster'resources:requests:ports:---metadata:spec:selector:ports:port: 8080。原创 2024-01-10 19:54:16 · 967 阅读 · 0 评论 -
Haproxy TCP代理(K8S)
【代码】Haproxy TCP代理(K8S)原创 2023-12-05 20:23:47 · 419 阅读 · 0 评论 -
更换Master
首先,需要准备好新节点,确保其满足 Kubernetes 集群的硬件和软件要求。具体要求可以参考 Kubernetes 官方文档。满足 Kubernetes 集群的硬件和软件要求。这样,就成功地更换了 Kubernetes 集群中的节点。命令查看新节点的状态。相同的 CPU、内存和存储资源。加入集群后,可以使用以下命令将。命令将 Pod 迁移到新节点。,则表示新节点已成功加入集群。然后,您可以使用以下命令将。最后,可以使用以下命令删除。命令将新节点添加到集群。首先,您需要准备好新节点。原创 2023-11-10 20:46:13 · 254 阅读 · 0 评论 -
POD创建与删除简单描述
Pending:Pod 尚未被调度到任何节点。Running:Pod 已被调度到一个节点,并且所有容器都已启动并正在运行。Succeeded:Pod 中的所有容器都已成功终止。Failed:Pod 中的至少一个容器已失败。Unknown:Pod 的状态无法确定。Pending 阶段在 Pending 阶段,Pod 尚未被调度到任何节点。Pod 尚未被用户创建。Pod 已被创建,但调度器尚未将其调度到任何节点。Pod 已被调度到一个节点,但该节点尚未准备好运行 Pod。原创 2023-11-10 20:43:18 · 353 阅读 · 0 评论 -
k8s 创建普通用户使用
【代码】k8s 创建普通用户使用。原创 2023-11-09 01:04:49 · 520 阅读 · 0 评论 -
k8s.1.28.x空间预留,过期镜像删除
CPU和内存预留配置。原创 2023-10-30 20:20:08 · 426 阅读 · 0 评论 -
2023Jenkins连接k8s
根据你可以选择适合场景的代码块。如果只需要在单个步骤中使用简单的凭据信息,那么使用 withKubeCredentials 就足够了。而如果需要在多个步骤中使用相同的配置文件和凭据,使用 withKubeConfig 更为方便。最后一个stps也可以换成这样。原创 2023-10-22 22:21:39 · 586 阅读 · 0 评论 -
Kubectl-AI: 一款 OpenAI GPT 自动生成应用 K8s yaml神器
开始测试生成需要的yaml文件。使用箭头键导航:↓ ↑ → ←。也可以将yaml保存。原创 2023-05-10 22:03:37 · 1463 阅读 · 0 评论 -
python 生成K8S 的Yaml文件
【代码】python 生成K8S 的Yaml文件。原创 2023-04-28 17:17:24 · 275 阅读 · 0 评论 -
Debian GNU/Linux 12 (bookworm) 快速安装k8s1.27.1版(单机版)
【代码】debian11 快速安装k8s1.27.1版(单机版)原创 2023-04-28 15:15:19 · 657 阅读 · 0 评论 -
centos7 安装docker版k8s(kubernetes1.26.4)
内核参数安排开启ipvs的前置条件安装软件包配置docker最后初始化将node节点加入k8s集群最后老牌网卡原创 2023-04-26 01:11:52 · 379 阅读 · 0 评论 -
python 简单操作k8s
需要注意的是,重启 Pod 操作将会杀死该 Pod 中的容器,并重新启动一个新的容器。因此,在执行重启操作之前,请确保你已经备份了相关数据,并且已经确认该操作不会对应用程序产生不良影响。方法创建 Kubernetes API 客户端。接着,指定要重启的 Pod 的命名空间和名称,并使用。中指定要重启的容器名称和重启次数,以确保重启操作能够正确执行。方法加载 Kubernetes 配置文件,然后使用。方法来重启该 Pod。原创 2023-04-24 00:50:28 · 4030 阅读 · 0 评论 -
K8S prometheus_client采集自定义指标实现hpa扩缩容(镜像制作)
代码】K8S prometheus_client采集自定义指标实现hpa扩缩容(镜像制作)原创 2022-08-09 01:03:18 · 281 阅读 · 0 评论 -
k8s高可用 更换master
删除故障的etcd2.生成命令,先执行添加node节点的命令3. 再生成Key4 再用 --control-plane --certificate-key 把前面那条命令跟key证书连接起来获得master 的join命令,结果如下原创 2022-07-04 17:56:21 · 1312 阅读 · 0 评论 -
kube-vip 高可用k8s
为什么选择kube-vip不解释,因为它更科学创建一个静态pod配置K8S相关文件编辑kubeadm.yaml查看拉取镜像再创建一个高可用的vip自己添加一下时区(不在乎的时间的可以跳过此步)重新创建==最后再将刚才的静态pods移除 ==......原创 2022-07-04 17:22:08 · 666 阅读 · 0 评论 -
ingress暴露udp之coredns外部使用
coredns再添加或者以下方式修改svc暴露tcp修改svc暴露udp客户端配置修改域名IP测试解析coredns添加一个域名测试使用域名访问服务客户端修改了dns服务器ip 172.18.1.148,直接可以访问原创 2022-06-01 18:35:07 · 587 阅读 · 1 评论 -
kubectl patch 更新 API 对象
==使用策略合并 patch 更新 Deployment ==apiVersion: apps/v1kind: Deploymentmetadata: name: mygin-v1 labels: app: myginspec: replicas: 3 selector: matchLabels: app: mygin template: metadata: labels: app: mygin spec:原创 2022-05-24 00:11:09 · 598 阅读 · 0 评论 -
Ingress使用IP访问(高可用)
首先server已经是LoadBalancer或者直接使用静态IPapiVersion: v1kind: Servicemetadata: labels: app.kubernetes.io/component: controller app.kubernetes.io/instance: ingress-nginx app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-原创 2022-05-20 11:56:11 · 4429 阅读 · 0 评论 -
StatefulSet暴露每个pod地址
还是mongo假如使用了hostpath 地址就是IPapiVersion: v1kind: Servicemetadata: name: mongodb-headless labels: name: mongospec: ports: - port: 27017 targetPort: 27017 clusterIP: None selector: role: mongo---apiVersion: apps/v1kind: Stat原创 2022-05-15 01:39:02 · 492 阅读 · 0 评论 -
K8S mysql8.x主从
helm repo add bitnami https://charts.bitnami.com/bitnamihelm install mysql bitnami/mysql \--set auth.rootPassword=123qwe \--set architecture=replication \--set secondary.replicaCount=1 \--set secondary.persistence.storageClass=rook-ceph-block \--set原创 2022-05-12 10:39:36 · 506 阅读 · 0 评论 -
configmap设置时区挂载到pod
kubectl create configmap tz --from-file=/usr/share/zoneinfo/Asia/Shanghai挂载到pods里apiVersion: v1kind: Podmetadata: name: timezonespec: containers: - name: timezone image: busybox:1.28.3 command: [ "sleep", "10000" ] volumeMounts:原创 2022-05-10 22:58:30 · 339 阅读 · 0 评论 -
k8s标签使用和MASTER节点 添加 去除污点
给两个节点打标签添加标签kubectl label nodes node91.com node92.com storagenode=momo删除标签kubectl label nodes node91.com node92.com storagenode-指定pods调度到这momo标签上 nodeSelector: storagenode: momo手动部署的k8s集群, 需要为master节点手动设置taintskubectl taint node [n原创 2022-05-10 22:40:51 · 3853 阅读 · 0 评论 -
k8s pod被驱逐时间问题
在默认配置下,k8s节点故障时,工作负载的调度周期约为6分钟,参数概念:node-monitor-period节点控制器(node controller) 检查每个节点的间隔,默认5秒。node-monitor-grace-period节点控制器判断节点故障的时间窗口, 默认40秒。即40 秒没有收到节点消息则判断节点为故障。pod-eviction-timeout当节点故障时,kubelet允许pod在此故障节点的保留时间,默认300秒。即当节点故障5分钟后,kubelet开始在其他可用节原创 2022-05-10 22:28:45 · 3020 阅读 · 2 评论 -
JuiceFS 存储
stringData: #如果没有test文件夹会自动创建一个test文件夹 name: "test" #redis地址加端口 metaurl: "redis://redis-service.default.svc.cluster.local:6379" #存储类型 我的是minio storage: "minio" #minio地址端口(test00)是你创建好的存储桶 bucket: "http://minio.default.svc.cluster.local原创 2022-05-06 21:49:19 · 631 阅读 · 0 评论 -
k8s v1.22.X以上 (containerd过期镜像清理和node资源预留)
首先自己看官网给的参数了我就不介绍了https://kubernetes.io/zh/docs/reference/config-api/kubelet-config.v1beta1/可以再初始化集群的时候将参数写入apiVersion: kubelet.config.k8s.io/v1beta1kind: KubeletConfigurationcgroupDriver: systemdmaxPods: 248 <<<<----POD限制serverTLSBoo原创 2022-05-01 14:51:43 · 1035 阅读 · 0 评论 -
K8S v1.22.X(证书任意修改年限)
利用官网的kubeadm certs renew allhttps://kubernetes.io/docs/reference/setup-tools/kubeadm/generated/kubeadm_certs_renew_all/查看当前证书(为一年)将时间往前调整# date -s "2026-03-5"2026年 03月 05日 星期四 00:00:00 CST# kubectl get nodeUnable to connect to the server: x509原创 2022-05-01 14:29:53 · 438 阅读 · 0 评论 -
kubeadm 高可用k8s(v1.23.5)
内核参数安排cat << EOF > /etc/sysctl.d/k8s.conf############################################################################################## 调整虚拟内存################################################################################## Default: 30#原创 2022-04-30 23:08:16 · 301 阅读 · 0 评论 -
netdata监控部署
helm repo add netdata https://netdata.github.io/helmchart/helm install netdata/netdata --untarhelm install monit netdata/原创 2022-04-29 17:22:15 · 396 阅读 · 0 评论 -
kubeadm开启apiserver审计日志
Kubernetes 审计功能提供了与安全相关的按时间顺序排列的记录集,记录每个用户、管理员 或系统其他组件影响系统的活动顺序。 它能帮助集群管理员处理以下问题:发生了什么?什么时候发生的?谁触发的?活动发生在哪个(些)对象上?在哪观察到的?它从哪触发的?活动的后续处理行为是什么?审计记录最初产生于 kube-apiserver 内部。每个请求在不同执行阶段都会生成审计事件;这些审计事件会根据特定策略 被预处理并写入后端。策略确定要记录的内容和用来存储记录..原创 2022-04-26 00:44:42 · 1536 阅读 · 0 评论 -
K8S单机部署mysql
tee mysqldb.yaml <<-'EOF'apiVersion: apps/v1kind: StatefulSetmetadata: name: mysql-sz namespace: ops labels: app: mysqlszspec: selector: matchLabels: app: mysqlsz serviceName: mysqlsz replicas: 1 template: metadata原创 2022-04-16 21:44:42 · 822 阅读 · 0 评论 -
jenkins pipeline执行shell
jenkins安装sshPublishe插件配置ssh片段 stage('Deploy') { steps { sshPublisher(publishers: [sshPublisherDesc(configName: 'aws', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'free -m; if原创 2022-04-12 22:36:43 · 2850 阅读 · 1 评论 -
jenkins 企业微信消息推送 Qy插件 (qyWechatNotification)
安装插件(Qy Wechat Notification)生成流水线pipeline { agent any stages { stage('Hello') { steps { echo 'Hello World' } } } post{ success{原创 2022-04-12 21:09:59 · 2667 阅读 · 0 评论 -
Gitea+Drone(K8S注册) 1
tee drone-conf.yaml <<-'EOF'apiVersion: apps/v1kind: Deploymentmetadata: name: mydrone labels: app: mydronespec: replicas: 1 selector: matchLabels: app: mydrone template: metadata: labels: app: mydrone原创 2022-04-08 23:34:05 · 1224 阅读 · 0 评论 -
k8s- (v1.23.5)初始化新参数
apiVersion: kubeadm.k8s.io/v1beta3bootstrapTokens:- groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authenticationkind: InitConfigurationlocalAPIEndpoint: advertise原创 2022-03-25 22:08:03 · 950 阅读 · 0 评论 -
ETCD3.5快照恢复pods
-首先需要一个etcd服务工具下载不再介绍了创建 ca 证书tee ca-config.json<<-'EOF'{ "signing": { "default": { "expiry": "876000h" }, "profiles": { "server": { "expiry": "876000h", "usages原创 2022-03-20 22:17:11 · 501 阅读 · 0 评论 -
K8S强制删除namespace
场景如下;【删除namespace一直处于Terminating状态】:创建api proxy:root@master30:~# kubectl proxy --port=8001Starting to serve on 127.0.0.1:8001把ns追加到json文件:kubectl get namespace 你的命名空间 -o json |jq '.spec = {"finalizers":[]}' >temp.json调用api删除:curl -k -H "Conten原创 2022-03-18 18:21:53 · 2790 阅读 · 0 评论 -
Kubernetes中API Server使用token访问
因自建集群,默认的apiserver-advertise-address是一个内网IP,自建的CA会为apiserver签发了一个证书,默认可访问的是内网IP、kubernetes、kubernetes.default kubernetes.default.svc、kubernetes.default.svc.cluster.local,不包含设备的外网IP。所以直接使用cfssl根据CA根证书签发的证书配置kubectl是无法访问集群的,需要将这个公网IP添加到允许访问apiserver列表中。API原创 2022-03-07 15:42:11 · 2925 阅读 · 1 评论 -
GitLab之Runner注册K8S
获取gitlab tokenSetting->CI/CID Settings界面需要借助helm完成#添加源helm repo add gitlab https://charts.gitlab.io或者直接拉官网一个yamlhttps://gitlab.com/gitlab-org/charts/gitlab-runner/blob/main/values.yaml修改后如下:egrep -v "#" gitlab-runn.yaml | grep -v "^$"im原创 2022-03-05 23:20:03 · 1889 阅读 · 0 评论 -
kubernetes1.23后 Node预留空间
让k8s健康运行需预留部分资源,以防宕机,默认情况下k8s将会把资源耗尽Allocatable 被定义为 pod 可用计算资源量。调度器不会超额申请 Allocatable。目前支持 CPU, memory 和 storage 这几个参数。Allocatable:真正scheduler调度Pod时的参考值(保证Node上所有Pods的request resource不超过Allocatable)kube-reserved:给kube组件预留的资源:kubelet,kube-proxy以及doc原创 2022-02-23 23:37:28 · 519 阅读 · 0 评论