首页
Web Coding Tech
取消

k8s中的Service

一、 概述 我们可以通过Controller创建应用,可是当我们访问应用时,发现一个问题,Pod的状态不是认为控制的,Pod IP是在创建的时候分配的。假设Pod被误删除,被Controller重新拉起一个新的Pod时,我们发现Pod IP是变化的。如果访问必须更换IP地址,这样对于大量Pod运行应用来说,我们对Pod完全无法控制,因此在k8s集群中我们引入另一个新的概念:Service ...

k8s中的Ingress

一、相关概念 Service对集群之外暴露端口主要方式有两种:NodePort和LoadBalancer,但是这两种方式,都有一个缺点 NodePort方式的缺点是会占用很多集群的端口,集群服务器变多的时候,这个缺点愈发明显 LoadBalancer的缺点是每个Service需要一个LoadBalancer,浪费、麻烦,并且需要k8s之外的设备支持 基于这两种现状,k8s提...

k8s中的Controller

一、概述 Pod是可以直接删除的,如果生产过程中误操作,Pod同样也会被轻易删除,因此我们需要在k8s集群中引入另一种概念:控制器,用于在k8s集群中以loop方式监视Pod状态,如果发现Pod被删除,将重新拉起一个Pod,以让Pod一直保持在用户期望状态。 本文目标 了解Controller 了解Controller分类 了解Deployment控制器作用 掌握创建...

k8s集群中pod的相关操作

一、概述 k8s是不能直接运行程序的,k8s集群中最小的调度单元为pod,Pod是容器的封装。因此我们需要使用Pod来运行应用程序 本期目标 查看Pod 创建Pod Pod访问 删除Pod 二、查看Pod 默认查询default命名空间中的Pod kubectl get pod # 或 kubectl get pods 查看指定命名空间的Pod kube...

k8s名称空间

一、概述 本文目标如下 了解namespace的作用 掌握namespace查看方法 掌握namespace创建方法 掌握namespace删除方法 假设需要准备两套k8s集群用于开发测试和预发布环境,但是由于项目组可用主机资源有限,没有那么多主机可用,不能满足k8s集群的要求。我们可以使用k8s集群中的namespace(名称空间)即可实现开发测试和预发布环境的隔...

k8s资源清单文件

一、概述 在k8s中,一般使用yaml格式的文件来定义符合我们预期的Pod,这样的yaml文件被称为资源清单文件 二、常用字段 字段名 类型 说明 version String k8s的api的版本,目前基本上是v1,可以使用kubectl api-versions...

k8s中的核心组件

一、主控制节点(master node) 1.1 apiserver 用于接收客户端操作k8s的指令。提供了REST API接口,包括鉴权、数据校验、集群状态变更等。负责各个模块之间的数据交互,承担通信枢纽功能。作为资源配额控制的入口,同时提供了完整的集群安全机制。 1.2 schduler 主要是调度pod到适合的运算节点上,通过预算策略(predict)和优选策略(priorit...

k8s中的核心概念

本文将介绍k8s知识体系中,最常见的专业名词以及相关概念 一、Pod Pod是k8s中最小的逻辑单元,也叫做k8s的原子单元。一个Pod里可以运行多个容器,他们共享UTS命名空间(隔离Hostname和NIS域名)、共享NET命名空间(隔离网络设备、协议栈、端口等)、共享IPC命名空间(隔离进程间通信)。我们可以把Pod理解成豌豆荚,而同一个Pod内的每个容器是一颗颗豌豆。一个P...

使用kubeadm快速搭建k8s集群

一、概述 1.1 使用multipass搭建虚拟环境 我们可以使用multipass来创建多台Ubuntu Server虚拟环境,作为Linux集群的环境。如果你不知道multipass这个虚拟化工具的使用方法,可以参考另一篇文章:https://blog.jkdev.cn/index.php/archives/326/。 1.2 使用vagtrant搭建虚拟环境 除了multipa...

kubernetes知识概述

一、概述 博客:https://jiker.dev 公众号:极客开发者 阅读对象:后端工程师、运维工程师、Linux爱好者、k8s爱好者 二、什么是k8s? k8s本身涉及到大量的技术知识,包括操作系统、网络、存储、调度、分布式等方面的知识,这也正是技术人员学习与努力的方向。在这系列的文章,我们从了解Kubernetes的最基本的概念开始,先使用官方的kubeadm工具搭...