自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

运维那些事儿

分享Kubernetes,Jenkins,DevOps技术教程

  • 博客(219)
  • 资源 (4)
  • 收藏
  • 关注

原创 kubeadm部署kubernetes1.29

一、kubernetes集群节点准备1.1、服务器要求两台或多台安装linux服务器,此处使用vmware安装虚拟服务器硬件配置:2GB或更多RAM,2个CPU或更多CPU需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点1.2、集群规划1.3、服务器环境准备(所有节点)1.4、主机名与IP解析(所有节点)1.5、关闭防火墙与SELINUX(所有节点)1.6、时间同步配置(所有节点)1.7、配置内核路由转发及网桥过滤(所有节点)1.8、配置ipvs转发(所有节点)

2024-04-13 23:37:21 604

原创 kubernetes1.18.4部署kube-prometheus监控

一、部署kube-prometheus1、系统信息[root@test-centos ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)2、安装git工具yum install git -y3、克隆kube-prometheusgit clone https://github.com/prometheus-operator/kube-prometheus.git4、查看manifest目录文件[root@t

2021-01-21 21:00:35 1626

原创 kubernetes 1.18 二进制部署

第一章前置知识点1.1、生产环境可部署Kubernetes集群的两种方式1.1.1、目前生产部署Kubernetes集群主要有两种方式:kubeadmKubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/二进制包从github下载发行版的二进制包,手动部署每个组件,组成Kube

2020-09-08 17:20:03 7323 14

原创 Ansible自动化部署kubernetes 1.16

一、Ansible自动化部署k8s二进制集群Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施。 这里我通过Ansible来实现Kubernetes v1.16 高可用集群自动部署(离线版) (但是还是需要网络,因为这里需要去部署flannel,coredns,ingress,dashboard插...

2020-03-22 20:31:00 1490

原创 k8s下部署高可用jenkins

1、部署jenkins使用的pv文件[root@k8s-node1 jenkins]# cat jenkins_pv.yaml apiVersion: v1kind: PersistentVolumemetadata: name: opspvspec: capacity: storage: 20Gi accessModes: - ReadWriteMany p...

2019-11-28 11:51:14 3838

原创 使用kubectl命令创建yaml模板

1、创建deployment模板1.1、以tomcat为例kubectl create deployment tomcat --image=tomcat:8 -o yaml --dry-run >tomcat.yaml1.2、查看创建的模板[root@k8s-node1 ~]# cat tomcat.yaml apiVersion: extensions/v1beta1kind...

2019-11-28 10:15:55 6085

原创 kubernetes v1.12 二进制方式集群部署

kubernetes v1.12 二进制方式集群部署1、部署环境软件版本操作系统CentOS Linux release 7.4.1708 (CoreDocker18.03.1-ceKubernetesv1.122、服务器角色角色ip组件k8s-master192.168.1.203kube-apiserver,kube-...

2018-12-29 17:07:25 1382

原创 k8s 部署 kube-prometheus监控

9、使用NodePort方式登录prometheus控制台查看监控节点是否正常。2、根据k8s集群版本获取不同的kube-prometheus版本部署。5、进入kube-prometheus-release-0.13 目录。4.1、需要在service文件中添加type类型为NodePort。10.1、grafana初始账号密码为 admin/admin。10.2、添加数据源(此处数据源为prometheus)8、至此kube-prometheus监控部署完成。10.3、选择数据源为prometheus。

2024-04-20 01:33:32 510

原创 CentOS Stream release 9 使用chrony服务同步时间

说明:Centos9 时间同步要使用chrony命令,ntp命令不能使用了。System clock synchronized: yes 表示同步成功。通过命令进行查看是否同步,出现^*即表示有可同步的源。3、修改配置文件,将第三行注释后添加如下内容。如果时区不对,需要执行以下命令,修改时区。4、重启chronyd服务。1、安装chrony命令。2、查看chrony状态。

2024-04-15 10:30:41 317

原创 轻量级容器运行时containerd安装

1.5、启动containerd服务及开机自启动。1.2、查看YUM源中Containerd软件。8、查看已运行容器中运行的进程既tasks。1.6、查看containerd服务状态。2、查看containerd系统启动文件。10、查看containerd配置文件。3.5、验证runc是否安装成功。1.7、验证服务是否安装正常。1.1、获取阿里云YUM源。1.3、使用yum命令安装。1.4、验证安装及启动服务。3.2、查看已下载的文件。9.1、测试是否启动成功。7、查看正在运行的镜像。

2024-04-06 22:28:21 263

原创 Nacos2.3.1集群部署

11.1、安装好nginx后,将以下内容添加到/etc/nginx/conf.d目录下即可。7、启动服务(三个节点依次启动,等节点一启动完成再依次启动其它节点)11.3、使用nginx代理地址访问nacos集群。5.4、将下载后的sql文件导入到mysql即可。6、修改配置文件(三个节点配置信息相同即可)11、将nacos集群通过nginx代理。11.2、重新加载nginx。3.3、解压后配置环境变量。5.3、或者下载sql语句。3.1、下载jdk17。3、java环境配置。8、查看服务监听状态。

2024-03-15 18:01:50 677

原创 jenkins pipeline使用

2.1、安装时间插件 Date Parameter。2.2、Git Parameter 插件安装。4、Dockerfile文件如下。1、jenkins全局配置。3、pipeline如下。1.1、maven配置。

2023-10-16 14:33:42 598

原创 k8s 集群部署 kubesphere

2、创建文件persistentVolumeClaim.yaml。1、创建文件storageclass.yaml。1、重新执行以下命令即可 kubesphere。3、修改sc为默认标识为default。4、查看pod是否正常运行。

2023-10-10 14:32:32 718

原创 kind 安装 k8s 集群

在某些时候可能需要快速的部署一个k8s集群用于测试,不想部署复杂的k8s集群环境,这个时候我们就可以使用kind来部署一个k8s集群了,下面是使用kind部署的过程。10.1、创建了一个集群使用​​kind create cluster​​那么删除同样简单,使用。说明:上面我们已经安装好了 kind,接下来就可以使用 kind 搭建 k8s 集群了。3、将kind命令放在/usr/local/bin/kind。5、使用kind创建集群。11、删除指定名称的集群。4、查看kind的版本。

2023-09-26 10:37:42 616

原创 【云原生】DevOps 环境搭建

说明:内存尽量给多点(2G以上),后面会安装一些软件,会占用内存。1.5.2、登陆gitlab(默认用户:root 密码:自定义)6、配置Jenkins Pipeline。2.2、安装jdk及jenkins。5、安装Harnor仓库见如下文档。1.2、下载gitlab包并安装。1.5、网页登陆配置gitlab。2.4、启动完成后安装必要插件。4、安装k8s集群见如下文档。二、Jenkins环境部署。2.3、启动jenkins。一、Gitlab环境部署。3.1、检查是否安装成功。

2023-09-22 17:43:42 831

原创 k8s添加node节点报[FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]

3、执行上面命令即可解决以上报错信息。1、添加node节点如下报错。2.1、执行以下命令即可。

2023-09-01 16:09:28 237

原创 Gitlab 备份与恢复

1、备份数据(手动备份)2、备份数据(定时任务备份)

2023-07-27 16:55:22 1453

原创 【云原生】Minikube 部署

minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。您所需要的只是 Docker(或类似兼容的)容器或虚拟机环境,只需一条命令即可使用 Kubernetes:minikube start。

2023-07-26 11:58:51 1276 1

原创 【云原生】Kubernetes之 Pod hook(钩子)

Pod hook(钩子)是由 Kubernetes 管理的 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。可以同时为 Pod 中的所有容器都配置 hook。

2023-07-26 11:16:01 906

原创 【云原生】Kubernetes之Secret

你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信。

2023-07-25 18:44:16 1121

原创 【云原生】Kubernetes之ConfigMap

ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件ConfigMap 将你的环境配置信息和 容器镜像 解耦,便于应用配置的修改。

2023-07-25 17:45:47 1324

原创 【云原生】Kubernetes工作负载-StatefulSet

StatefulSet 是用来管理有状态应用的工作负载 API 对象StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符和 Deployment 类似, StatefulSet 管理基于相同容器规约的一组 Pod。但和 Deployment 不同的是, StatefulSet 为它们的每个 Pod 维护了一个有粘性的 ID。这些 Pod 是基于相同的规约来创建的, 但是不能相互替换:无论怎么调度,每个 Pod 都有一个永久不变的 ID。

2023-07-25 17:31:52 843

原创 NPS内网穿透搭建-详细版

NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,支持tcp、udp、http等几乎所有流量转发,支持WEB界面管理主机连接。

2023-07-21 14:44:59 3392 1

原创 【云原生】Kubernetes工作负载-Deployment

一个 Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力你负责描述 Deployment 中的目标状态,而 Deployment 控制器(Controller) 以受控速率更改实际状态, 使其变为期望状态。你可以定义 Deployment 以创建新的 ReplicaSet,或删除现有 Deployment, 并通过新的 Deployment 收养其资源。

2023-07-14 18:02:49 1094

原创 【云原生】Kubernetes临时容器

临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启, 因此不适用于构建应用程序。临时容器使用与常规容器相同的 ContainerSpec 节来描述,但许多字段是不兼容和不允许的临时容器没有端口配置,因此像 ports、livenessProbe、readinessProbe 这样的字段是不允许的。Pod 资源分配是不可变的,因此 resources 配置是不允许的。

2023-07-13 18:08:21 2417

原创 【云原生】Init 容器

v ljx97609760 一起沟通学习Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。

2023-07-13 15:37:17 1020

原创 【云原生】容器镜像

一起沟通学习。

2023-07-13 14:31:15 2830

原创 Kubernetes 组件介绍

部署完 Kubernetes,便拥有了一个完整的集群一组工作机器,称为节点, 会运行容器化应用程序。每个集群至少有一个工作节点工作节点会托管 Pod ,而 Pod 就是作为应用负载的组件。控制平面管理集群中的工作节点和 Pod。在生产环境中,控制平面通常跨多台计算机运行, 一个集群通常运行多个节点,提供容错性和高可用性以下文档介绍了一个正常运行的 Kubernetes 集群所需的各种组件。

2023-07-13 11:38:37 572

原创 【云原生】POD发布服务(服务类型)

你可以在集群中设置节点以使用特定 IP 地址来提供 NodePort 服务。如果每个节点都连接到多个网络(例如:一个网络用于应用程序流量,另一个网络用于节点和控制平面之间的流量), 你可能需要执行此操作。如果你要指定特定的 IP 地址来代理端口,可以将 kube-proxy 的 --nodeport-addresses 标志或 kube-proxy 配置文件的等效 nodePortAddresses 字段设置为特定的 IP 段。

2023-07-12 15:31:14 1016

原创 【云原生】POD污点和容忍度

节点亲和性 是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点 (这可能出于一种偏好,也可能是硬性要求)。污点(Taint) 则相反——它使节点能够排斥一类特定的 Pod。容忍度(Toleration) 是应用于 Pod 上的。容忍度允许调度器调度带有对应污点的 Pod。容忍度允许调度但并不保证调度:作为其功能的一部分, 调度器也会评估其他参数。污点和容忍度(Toleration)相互配合,可以用来避免 Pod 被分配到不合适的节点上。

2023-07-12 15:17:52 1630

原创 centos7 修改任意网卡名称

说明:从上面信息可以看出网卡名称和ip地址都已经改成,说明我们修改成功。1、查看网卡名称(这里显示的是ens3,需要将它改为ens192)2、新建配置文件 70-persistent-net.rules。3、更新 udev 规则:运行以下命令以更新 udev 规则。5、查看服务器重启后网卡名称是否生效。

2023-07-11 14:46:30 524

原创 【云原生】Pod 的生命周期

本文讲解的是 Kubernetes 中 Pod 的生命周期,包括生命周期的不同阶段、存活和就绪探针、重启策略等。

2023-07-07 18:17:46 1083

原创 【云原生】Pause 容器介绍

Pause 容器,又叫 Infra 容器Pause 容器,是可以自己来定义,官方使用的 gcr.io/google_containers/pause-amd64:3.0 容器的代码见 Github,使用 C 语言编写。

2023-06-28 17:54:01 1249

原创 jenkins选择不同构建环境

1、业务在有些情况下需要选择不同的环境来构建服务,使用同一套代码读取不同的配置。3、使用如下pipeline实现jenkins构建环境选择。2、jenkins使用如下配置即可实现构建环境的选择。4、执行完成后的Pipeline如下。2.3、选择构建时间参数。2.2、配置构建tag。2.1、配置构建选项。

2023-06-26 17:58:27 1433

原创 k8s部署并访问Dashboard

直接 kubectl proxy 启动的是本地代理服务器,只能通过 localhost 访问,这个只适合本地单集群使用。可以看到这里分配的是 32212 端口,然后使用node节点的ip+32212就可以访问dashboard界面了。4、部署成功之后,可以看到 kubernetes-dashboard 相关的两个service。3、部署成功之后,可以看到 kubernetes-dashboard 相关的两个pod。3.3、复制这里的 token 提交就可以登录到dashboard。2、使用如下命令创建。

2023-06-13 12:08:47 2940

原创 kubernetes 容器内抓包

在使用 kubernetes 跑应用的时候,可能会遇到一些网络问题,比较常见的是服务端无响应(超时)或回包内容不正常,如果没找出各种配置上有问题,这时我们需要确认数据包到底有没有最终被路由到容器里,或者报文到达容器的内容和出容器的内容符不符合预期,通过分析报文可以进一步缩小问题范围。本文提供实用的方法一键进入容器网络命名空间(netns),使用宿主机上的tcpdump进行抓包。5、通过宿主机 tcpdump 命令抓包,然后用wireshark分析即可。3、登录pod所在服务器获取容器pid。

2023-06-01 15:14:54 507

原创 kubectl cp 命令报错 error: unexpected EOF

添加–retries参数,指定重试次数,默认不重试,导致EOF错误。指定为-1表示一直重试。使用kubectl cp命令将容器中的文件拷贝到本地时,抛出如下错误,无法完成拷贝。

2023-05-11 16:39:25 1422 1

原创 k8s 部署 ldap 服务

2.1、使用 kubectl apply 命令,可以将这个 YAML 文件应用到 Kubernetes 集群中。3.2、使用 kubectl apply 命令,可以将这个 YAML 文件应用到 Kubernetes 集群中。5、访问phpldapadmin进行ldap配置。1、创建挂载卷,将数据和配置进行持久化存储。3、创建phpldapadmin。1.1、使用nfs作为共享存储。6、ldap服务容器化部署完成。2、使用如下yaml创建服务。3.1、使用如下yaml部署。4、查看服务是否正常启动。

2023-04-26 16:03:18 917

原创 gitlab忘记root密码解决方法

gitlab忘记root密码怎么办?

2023-04-26 15:45:46 3025

原创 postgres 数据导入导出

pgsql数据导出导入

2023-04-25 14:33:18 874

kubernetes网络资源 flannel

kubernetes网络资源组件flannel的yaml文件

2022-04-13

kubernetes ui界面 dashboard

kubernetes ui界面 dashboard文件

2022-03-11

kubernetes 服务发现 ingress

kubernetes 服务发现 ingress文件

2022-03-11

kubernetes网络资源calico

kubernetes网络资源组件calico

2022-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除