
Kubernetes
文章平均质量分 90
Kubernetes运维学习笔记
小鲸鱼大梦想
心怀若谷,无风自渡
展开
-
k8s 进阶实战笔记 | Ingress-traefik(一)
● 官网:https://traefik.cn● 现代HTTP反向代理、负载均衡工具● 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) 来自动化、动态的应用它的配置文件设置。原创 2024-08-19 19:30:14 · 989 阅读 · 0 评论 -
k8s 进阶实战笔记 | NFS 动态存储类的部署与使用
部署文件位置:nfs-subdir-external-provisioner/deploy/class.yaml。操作系统:CentOS Linux release 7.8.2003 (Core)演示环境信息:单机K3s 1.28.2。NFS服务器:同1台服务器。虚拟机基础信息:4C4G。原创 2024-02-26 13:54:08 · 2248 阅读 · 0 评论 -
k8s 进阶实战笔记 | 应用的蓝绿、金丝雀发布笔记
金丝雀发布就是先发一个新版应用,但是是一个小比例范围,也叫灰度测试,如结果灰度测试通过,就把其余的v1版本全部替换程v2版本。如果测试没通过,就直接回退。副本集一起Terminating,一起Pending,一起ContainerCreating,一起Running。RollingUpdate:默认滚动升级,不停机升级策略。Recreate:同时删除所有副本,停机升级策略。接下来我们修改一下镜像版本,进行停机更新升级。灰度测试成功,我们逐渐将流量切入过去即可。存在某个时间段服务不可用。原创 2024-01-29 10:10:37 · 1246 阅读 · 0 评论 -
k8s 进阶实战笔记 | Scheduler 调度策略总结
Scheduler一直监听着 api-server,如果获取到Pod.Spec.NodeName为空,会对每一个pod创建一个binding,表示放在哪一个节点上运行把 pod 按照预设的调度策略分配到集群的节点上公平资源高效利用效率灵活调度过程预选(predicate过滤步满足条件的节点PodFitsResources :节点上剩余的资源是否大于pod 请求的资源PodFitsHost :如果pod 指定了NodeName,检查节点名称是否和NodeName匹配。原创 2024-01-27 08:52:21 · 2458 阅读 · 0 评论 -
k8s 进阶实战笔记 | Pod 创建过程详解
kube-proxy 组件会为新创建的pod注册动态DNS到CoreDNS,给pod的svc添加iptables规则,用于服务发现和负载均衡,controller 会通过控制循环将当前 pod 状态与用户所期望状态一直对比,如果状态不同,则会修改为用户期望状态,亦或者删除重新创建pod。机制检查到新的部署信息,将部署信息加入内部工作队列,然后检查发现资源没有关联的 pod 信息等资源,启动对应的控制器创建相关资源,然后将这些创建的部署资源信息上报给 api-server。kubelet也是通过。原创 2024-01-26 14:16:27 · 893 阅读 · 0 评论 -
k8s集群部署 | 二进制三节点(复用)高可用集群部署过程
OS 版本:CentOS Linux release 7.9.2009 (Core)初始内核版本:3.10.0-1160.71.1.el7.x86_64配置信息:2C2G 150G硬盘文件系统:xfs网络:外网权限k8s 版本:1.25.9。原创 2023-05-10 09:04:23 · 1115 阅读 · 3 评论 -
k8s集群部署 | 三节点(复用)高可用集群过程参考
自我环境的一个可用于生产环境的高可用k8s集群,三master节点复用,记录了搭建过程原创 2023-05-08 11:01:30 · 4296 阅读 · 1 评论 -
k8s学习之路 | k8s 工作负载 Job
参考官网:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/依然存在,完成的 Job 通常不需要留存在系统中,在系统中一直保留它们会给 API 服务器带来额外的压力。在绝大多数场合,你都不需要为其赋值。Job 负载资源会创建一个或者多个。描述了任务执行的具体情况信息。的执行,直到指定数量的。还是老办法,官网说明加。发现 Job 完成以后,原创 2023-03-16 21:42:22 · 1539 阅读 · 0 评论 -
k8s学习之路 | k8s 工作负载 StatefulSet
是用来管理有状态应用的工作负载 API 对象,也是一种工作负载资源有状态和无状态无状态应用:当前应用不会记录状态(网络可能会变、挂载的东西可能会变、顺序可能会变)有状态应用:需要记录当前状态(网络不变、存储不变、顺序不变)sts管理某一类Pod集合的部署喝扩缩给这一类Pod提供持久存储和持久标识符对比 deploy都是管理着有相同容器规约的一组Podsts给这些Pod维护了一个有粘性的 ID,虽然这些Pod都是基于相同的规约来创建的,但是不能相互替换,不管怎么调度,每个Pod。原创 2023-03-12 16:17:06 · 1604 阅读 · 2 评论 -
k8s学习之路 | k8s 工作负载 DaemonSet
DaemonSet工作负载,确保了全部(某一些)节点运行一个Pod副本如果有节点加入集群,自动为该节点新增一个Pod如果有节点从集群中移除,该节点上的Pod就会被回收删除工作负载DaemonSet就会删除它创建的所有节点的Pod。原创 2023-03-09 20:45:29 · 1593 阅读 · 0 评论 -
k8s学习之路 | k8s 工作负载 ReplicaSet
虽然 RS 强大,但是我们也不直接写 RS;而是使用更多特性的 Deployment,Deployment 会自动产生 RS。原创 2023-03-07 20:31:15 · 1839 阅读 · 1 评论 -
k8s学习之路 | Day19 k8s 工作负载 Deployment(上)
Deployment属于k8s中的一种工作负载资源,一个Deployment为Pod和ReplicaSet我们只需要描述Deployment中的目标状态Deployment控制器以受控的速率(不间断)更改实际状态,使其变成我们所描述的目标期望状态(控制循环Deployment使Pod有自愈能力我们部署应用一般不会直接写Pod,而是部署一个Deployment。原创 2023-03-04 22:34:32 · 1044 阅读 · 5 评论 -
k8s学习之路 | Day18 Pod 基础
Pod是可以在 k8s 中创建和管理的、最小的可部署的计算单元Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个)容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的内容总是并置(colocated)的并且一同调度,在共享的上下文中运行。Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。原创 2023-03-02 12:50:04 · 704 阅读 · 0 评论 -
k8s学习之路 | Day17 k8s 工作负载
官方参考链接:https://kubernetes.io/docs/concepts/workloads/podsPodcontainers工作负载是在 k8s上运行的应用程序相对来说,一个应用程序又很复杂,可能由一个或者多个组件共同协同完成,这种情况我们都可以用一组Pod来表示一个应用,也就是一个工作负载之前我们学到的内容来看,Pod遵循预定义的生命周期,如果Pod所在节点出现致命错误,该节点上所有的Pod状态都会失败,即使这个节点恢复正常了,也是需要创建新的Pod来恢复应用打个比方。原创 2023-02-28 21:03:12 · 868 阅读 · 0 评论 -
k8s学习之路 | Day16 k8s 中的容器初探
k8s 集群中最小的管理单元就是一个Pod,而Pod里面才是容器,但是容器里面到底应该怎么写yaml呢?这个就是我今天学习的目标Pod。原创 2023-02-27 17:18:11 · 1422 阅读 · 0 评论 -
k8s学习之路 | Day15 k8s 中的 yaml 语法
来自百度百科的定义:YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式YAML是"YAML Ain’t a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。原创 2023-02-25 20:59:52 · 1261 阅读 · 0 评论 -
k8s学习之路 | Day14 有关 k8s 弃用 Docker
CRI 是一个插件接口,它使 kubelet 能够使用各种容器运行时,你需要在集群中的每个节点上都有一个可以正常工作的容器运行时, 这样 kubelet 能启动 Pod 及其容器。容器运行时接口(CRI)是kubelet 和容器运行时之间通信的主要协议。原创 2023-02-24 14:36:05 · 750 阅读 · 2 评论 -
k8s学习之路 | Day13 k8s 模板插件和命令补全
在 Shell 中导入(Sourcing)补全脚本,将启用 kubectl 自动补全功能。我们可以借助 vscode 的插件来快速生成一个 K8S 资源的模板 yaml 文件。kubectl 的 Bash 补全脚本可以用命令。然而,补全脚本依赖于工具。原创 2023-02-23 12:21:51 · 1679 阅读 · 0 评论 -
k8s学习之路 | Day12 k8s 对象(二)
标签(Labels) 是附加到 Kubernetes 对象(比如 Pod)上的键值对旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义标签可以用于组织和选择对象的子集标签可以在创建时附加到对象,随后可以随时添加和修改每个对象都可以定义一组键/值标签。每个键对于给定对象必须是唯一的为对象附加任意的非标识的元数据客户端程序(例如工具和库)能够获取这些元数据信息有助于识别对象信息。原创 2023-02-22 12:56:53 · 373 阅读 · 0 评论 -
k8s学习之路 | Day11 k8s 对象(一)
名称空间作用域仅针对带有名称空间的对象,例如 Deployment、Service 等, 这种作用域对集群访问的对象不适用,例如 StorageClass、Node、PersistentVolume 等。用于区分多次创建的同名对象(如前所述,按照名字删除对象后,重新再创建同名对象时,两次创建的对象 name 相同,但是 UID 不同。通过创建对象,你就是在告知 Kubernetes 系统,你想要的集群工作负载状态看起来应是什么样子的, 这就是 Kubernetes 集群所谓的。原创 2023-02-20 16:00:18 · 355 阅读 · 0 评论 -
k8s学习之路 | Day10 Dashboard 部署
Dashboard 是基于网页的 Kubernetes 用户界面。你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。原创 2023-02-17 20:15:00 · 368 阅读 · 0 评论 -
k8s学习之路 | Day9 初识声明式 API
之前总听说什么声明式 API ,一直不知道是什么玩意,但是 k8s 有一个核心,赖以生存的一个东西,就是这个【声明式API】原创 2023-02-16 19:30:00 · 422 阅读 · 1 评论 -
k8s学习之路 | Day8 k8s 入门操作(二)
咱接着入门操作进行,今天主要学习一下在 k8s 环境中,如何实现外部访问等操作上一天,知道了如何进行部署,以及部署的一些简单细节,复习了一些常用的命令,我现在部署一个 nginx。原创 2023-02-15 20:00:00 · 278 阅读 · 0 评论 -
k8s学习之路 | Day7 k8s 入门操作(一)
我之前按照官方的minikube流程走了一遍,现在是我自己搭建的 k8s 环境,加深一下命令操作的印象和基础操作,反正学习也就是反反复复才能记得牢固。原创 2023-02-14 13:56:34 · 272 阅读 · 0 评论 -
k8s学习之路 | Day6 kubeadm 引导 k8s 集群
使用kubeadm准备好服务器,让他们网络互通每台服务器初始化环境安装好 docker 环境,不过后面版本好像已经不能用 docker 环境,这个明天我在详细学习一下每台服务器装好必备的组件(kubeadm、kubelet、kubectl)准备好对应版本的控制面板组件的镜像(这个可能因为网络原因,有时候很难下载下来)直接使用和创建集群。原创 2023-02-13 16:13:44 · 236 阅读 · 0 评论 -
k8s学习之路 | Day5 kubernetes架构原理
云控制器管理器(Cloud Controller Manager)允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。容器运行时接口(Container Runtime Interface),CRI 中定义了容器和镜像的服务的接口,因为容器运行时与镜像的生命周期是彼此隔离的,因此需要定义两个服务。负责运行控制器进程,从逻辑上讲, 每个控制器都是一个单独的进程, 但是为了降低复杂性,它们都被编译到同一个可执行文件,并在同一个进程中运行。原创 2023-02-12 10:48:30 · 629 阅读 · 5 评论 -
k8s学习之路 | Day4 跟着官方使用 Minikube 操作应用
到现在为止,我们实验了通过 Deployment 创建 Pod,然后利用 Service 实现开放访问扩缩容是通过改变 Deployment 中的副本数量来实现的实现概述图:扩展 Deployment 将创建新的 Pods,并将资源调度请求分配到可用资源的节点上收缩将会改变 Pods 的数量,减少到所需的状态,收缩到0也是可以的,会终止所有已经部署的 Pods。原创 2023-02-11 12:22:29 · 402 阅读 · 0 评论 -
k8s学习之路 | Day3 跟着官方体验 Minikube
官网交互路线不好走,访问有困难,很多概念不清楚,只能先尝试。原创 2023-02-10 15:47:57 · 690 阅读 · 0 评论 -
k8s学习之路 | Day2 来自Minikube的折磨
官网地址:https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/minikube 是一种轻量级的 Kubernetes 实现,可在本地计算机上创建 VM 并部署仅包含一个节点的简单集群。我在自己的本地虚拟机实在搞不定这个minikube拉取镜像的问题了,我直接在我的云主机上面操作了。官网地址:https://minikube.sigs.k8s.io/docs/start/我习惯新建的虚拟机安装后做一个快照备份,原创 2023-02-09 20:00:00 · 709 阅读 · 0 评论 -
k8s学习之路 | Day1 kubernetes基础概念入门
kubernetes是一个生产级别的容器编排系统,是用于自动部署、扩缩和管理容器化应用程序的开源系统。将组成应用程序的容器组合成逻辑单元,便于管理和服务发现星际尺度处处适用:本地测试、跨国公司,具有灵活性永不过时,可以自由地部署在企业内部、私有云、混合云、公有云kubernetes是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。kubernetes拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。原创 2023-02-08 20:00:00 · 290 阅读 · 0 评论 -
Docker笔记 | 常用命令指南
镜像管理容器管理其他参考命令说明docker build从一个 Dockerfile 文件构建镜像docker commit把容器的改变提交并创建一个新的镜像docker cp容器和宿主机文件系统间复制文件/文件夹docker create创建新容器,但并不启动(注意与docker run 的区分)需要手动启动。start\stopdocker diff检查容器里文件系统结构的更改(A是添加;D是删除;C是更改)docker events原创 2023-02-04 21:41:54 · 141 阅读 · 0 评论 -
Docker笔记 | 基础概念
Client:docker 客户端,操作docker服务的客户端(命令式或者界面)DOCKER_HOST:Docker 主机,安装 Docker 服务的主机(一般客户端和服务端都会一个主机上)Docker daemon:后台进程;运行在Docker服务主机的后台进程Containers:容器;在Docker服务器中的容器(一个容器一般是一个应用实例,容器间互相隔离)Images:镜像、映像、程序包;Image是只读模板,其中包含创建Docker容器的说明。原创 2023-02-04 19:13:30 · 113 阅读 · 0 评论 -
Docker笔记 | 入门指南
Docker是一个平台:用于开发、发布、运行应用程序的开放的平台Docker将应用程序与基础设施分开,达到快速交付应用程序的目的Docker能够快速运送、测试、部署你的代码,从来显著减少交付软件的延迟支持的平台Docker Engine 可在各种 Linux 平台上使用,macOS 和 Windows 10 通过 Docker 桌面,以及作为静态二进制安装Docker 提供以下发行版的软件包和架构。原创 2023-02-04 17:14:20 · 654 阅读 · 0 评论 -
基于ip+https内网harbor镜像仓库的实现参考
harbor离线包:https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz原创 2023-02-05 22:23:39 · 439 阅读 · 0 评论 -
私有镜像仓库 Harbor 的搭建参考
为什么要使用 harbor 作为搭建私有镜像仓库的系统:- 权限控制强- 操作可审计- 镜像漏洞分析- 镜像验真- 镜像复制- CNCF 官方毕业项目之一- 等等原创 2023-01-31 07:26:28 · 264 阅读 · 0 评论