什么是 Kubernetes 对象?在k8s中管理员与平台交互的最重要方式之一就是创建和管理 Kubernetes 对象,对象有助于帮助用户部署应用程序和维护集群。理解 Kubernetes 对象的另一种方法是将它们视为类实例。每个创建的对象都引用一个预定义的类,该类告诉 api server 如何处理系统资源并与特定组件进行通信。那么这些对象都包含哪些呢?这篇文章就通过一些实例来说明对象怎么使用,或者怎么去定义对象。在Kubernetes 中对象都包含namespaces、pod、deployments、volumes以及secrets等。要查看 Kubernetes 集群中可用对象列表,可通过 kubectl 命令查看:kubectl api-resources执行命令后,可以看到如下一部分对象列表。这里只是截取了一小部分。那么这些对象都是怎么产生的呢,或者怎么创建的呢?继续看。首先我们在创建对象的时候,一般都是使用 YAML 或 JSON 在文件中描述想要的内容(所需状态),它称为对象规范。下面先来一个Pod对象规范示例(YAML):# Pod spec apiVersion:
序前面介绍了k8s组件和对象的一些基本概念,了解了k8s具体是做什么的以及架构,那么接下来我们开始介绍怎么去安装k8s,这里我们以windows为例,其他平台可以参考Kubernetes官方文档,其实安装方式都是类似的。先决条件要在系统中安装 Kubernetes,以下是一些需要特别注意的先决条件。软件要求如下:已启用 Hyper-V确保系统已安装 Docker上面两个条件如果你还不满足的话,可以参考网上有很多安装教程,当然这里后面也会出一个比较详细的安装说明文章。Kubernetes 安装实践因为我的系统很早之前就已经安装好了Docker,所以我们直接来看怎么通过Docker去安装Kubernetes。首先打开Docker Desktop,然后在电脑右下角右键单击 Docker 托盘图标并选择setting,或者点击Docker面板右上角的设置图标:弹出软件setting面板,在面板的左菜单中选择Kubernetes, 勾选启用Kubernetes并点击“应用”:Docker 在安装过程中会安装额外的包和依赖项。安装可能需要 5 到 10 分钟,具体取决于你的网络速度和电脑的性能
在Docker Desktop里面直接去安装启用Kubernetes会一直处在Starting...状态中,这是因为镜像默认是从Kubernetes提供的官方地址下载,该地址在国内是被墙的,如果你没有类似Vpn的翻墙工具的话,可以通过下面这种方式更快一点。准备好安装镜像镜像地址:https://github.com/AliyunContainerService/k8s-for-docker-desktop通过git clone将镜像clone到本地的工作目录,我这里在F:\work\k8s目录下面:查看docker支持的Kubernetes版本,在电脑右下角右键打开Docker选项,选择About Docker Desktop,弹出如下面板:可以看到我们这里的版本是v1.21.2进入到k8s-for-docker-desktop目录,检出对应版本分支:git checkout v1.21.2设置执行脚本权限Set-ExecutionPolicy RemoteSigned出现选项后直接输入: Y执行下载镜像脚本./load_images.ps1关闭执行脚本权限Set-ExecutionP
Kubernetes 概述当下,我们很多项目于都在Cloud Native(云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。云原生离不开两个概念:容器和微服务,这两个概念是任何云原生应用程序的构建块:微服务是小型、独立的服务(软件)的集合,可以在容器中轻松打包和执行。容器基于容器镜像, 容器是一个标准的软件单元,它打包代码及其所有依赖项,无论基础设施如何, 都允许应用程序快速可靠地运行容器镜像是一个轻量级的、独立的、可执行的软件包,其中包含运行应用程序所需的一切,容器镜像在运行时成为容器使用微服务架构是确保应用程序速度、敏捷性、增长和可用性的基础,因此,它改善了用户体验。例如,随着网络流量的增加或减少,放置在单体专用服务器上的整体应用程序比一组微服务更难扩展和缩减。然而,微服务架构的快速采用导致生产环境中容器数量的增加,这使得容器的管理和维护变得非常困难。并且,如果服务的请求量上来,已部署的服务响应不过来的时候怎么办呢?传统的做法是,如果请求量、内存、C
青丝南开
文字、摄影、骑行爱好者