04-kubectl 命令之故障排查和调试命令 kubectl-describe:显示一个或多个资源对象的详细信息 kubectl-logs:输出pod资源对象中一个容器的日志 kubectl-attach:连接到一个运行的容器 kubectl-exec:在指定容器内执行命令 kubectl port-forward:将本机指定端口映射到pod资源对象的端口 kubectl proxy:将本机指定端口映射到kube-apiserver kub 2023-03-01 Kubernetes #Kubernetes
05-kubectl 命令之高级命令 kubectl-diff:对比本地json/yaml文件与kube-apiserver中运行的配置文件是否有差异 kubectl-apply:通过json/yaml文件 标准输入对资源进行配置更新或者创建 kubectl-patch:通过patch方式修改资源对象字段(补丁式) kubectl-replace:通过json/yaml文件或者标准输入来替换资源对象 k 2023-03-01 Kubernetes #Kubernetes
06-kubectl 命令之设置命令 kubectl-label:增删改资源的标签 kubectl-annotate:更新一个或者多个资源对象的注释(annotaion)信息 kubectl-completion:命令自动补全 kubectl label更新(增加、修改或删除)资源上的 label(标签)。 label 必须以字母或数字开头,可以使用字母、数字、连字符、点和下划线,最长63个字符。 如果–overwrite 为 2023-03-01 Kubernetes #Kubernetes
07-kubectl 命令之其他命令 kubectl configkubectl pluginkubectl versionkubectl api-versionskubectl api-resources本次分析的版本为1.17.4,使用Calico作为网络组件,总共有67种不同的api-resources。 Binding: 已弃用。用于记录一个object和另一个object的绑定关系。实际上主要用于将pod和node关系,所 2023-03-01 Kubernetes #Kubernetes
11-Helm 安装 Helm 文档:https://docs.helm.sh/zh/docs/ Helm 其他文档:https://www.coderdocument.com/docs/helm/v2/using_helm/kubernetes_distro_notes.html 一、Helm 客户端安装Helm 的安装方式很多,这里采用二进制的方式安装。更多安装方法可以参考 Helm 的官方帮助文档。 方式一: 2023-03-01 Helm #Helm
12-Helm 仓库 Helm 文档:https://docs.helm.sh/zh/docs/ Helm 其他文档:https://www.coderdocument.com/docs/helm/v2/using_helm/kubernetes_distro_notes.html 添加仓库1helm repo add 仓库名 仓库地址 例如 123456789# 配置微软源helm repo add stabl 2023-03-01 Helm #Helm
Docker 单进程模型理解 容器=应用+依赖的执行环境 容器不像虚拟机那样拥有独立的操作系统,容器只包括了操作系统的”躯壳”,并没有包括操作系统的内核。同一台机器上的所有容器,都会共享宿主机操作系统的内核。 容器只是通过 Linux 的 Namespaces、Cgroups 实现了进程级别的隔离。虽然在容器里看不见宿主机上的其他进程,但归根结底它还只是一个运行在宿主机上的进程,所以容器就不具备操作系统的进程管理能力。 每个容 2023-03-01 Docker #Docker
Kubernetes initContainer 初始容器 官方中文文档 1、理解 Init 容器Kubernetes 1.3 版本引入了 Alpha 版本的新特性 init container(初始化容器,在 Kubernetes 1.5 时被更新为 Bate 版本)用于在启动应用容器(app container)之前启动一个或多个初始化容器,init container 与应用容器本质上是一样的,但他们是仅运行一次就结束的任务,并且必须在成功执 2023-03-01 Kubernetes #Kubernetes
Kubernetes yaml 之 Deployment yaml 文件 Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义 (declarative) 方法,用来替代以前的 ReplicationController 更方便的管理应用。 作为最常用的 Kubernetes 对象,Deployment 经常会用来创建 ReplicaSet 和 Pod,我们往往不会直接在集群中使用 ReplicaSet 部署一个新的微服务,一方面是因为 Re 2023-03-01 Kubernetes #Kubernetes
Kubernetes yaml 之 Service yaml 文件 Service 有四种 type: ClusterIP(默认)、NodePort、LoadBalancer、ExternalName。其中 NodePort 和 LoadBalancer 两类型的 Services 可以对外提供服务。 Service yaml 文件包含四个部分: apiVersion:表示版本。版本查看命令:kubectl api-versions kind:表示资源 meta 2023-03-01 Kubernetes #Kubernetes
Kubernetes yaml 文件 1. yaml 文件概述Kubernetes 集群中对资源管理和资源对象的编排部署可以通过声明样式(yaml)文件的方式来解决,把需要对资源对象的操作都编辑到 yaml 格式的文件中,这种文件叫做 资源清单文件。 通过 kubectl 命令可以直接使用资源清单文件实现对大量的资源对象进行编排和部署。 2. yaml 文件书写格式yaml 的可读性非常高,它是用来表达 数据序列 的格式。它本身仍是一 2023-03-01 Kubernetes #Kubernetes
Kubernetes 之部署 在Kubernetes集群中部署应用程序的几种方式: 使用Yaml规范 通过Helm chart 使用Kustomize 参考文章 Kubernetes部署应用的几种方式:https://cloud.tencent.com/developer/article/1830215 Kubernetes 中常见应用部署模式:https://zhuanlan.zhihu.com/p/36558979 2023-03-01 Kubernetes #Kubernetes
Kubernetes 使用 prometheus 集群资源监控 概述监控指标一个好的系统,主要监控以下内容 集群监控:即对 k8s 集群本身的监控,主要监控以下内容。 节点资源利用率:集群中每个节点的 CPU 资源使用情况、利用率等; 节点数:比如说集群共有三个节点,有两个处于忙碌状态,一个节点处于空闲状态,那么在资源分配时就需要节点数进行考虑; 集群中运行的pods:每个节点中运行的 pod 数量等。 Pod 监控:监控集群中运行的 pod 以及容器 2023-03-01 Kubernetes #Kubernetes
Kubernetes 入门之(三)部署 在Kubernetes集群中部署应用程序的几种方式: 使用Yaml规范 通过Helm chart 使用Kustomize 参考文章 Kubernetes部署应用的几种方式:https://cloud.tencent.com/developer/article/1830215 Kubernetes 中常见应用部署模式:https://zhuanlan.zhihu.com/p/36558979 2023-03-01 Kubernetes #Kubernetes
Kubernetes 安全机制 Kubernetes 安全框架 API 认证三关 访问 K8S 集群的资源需要过三关:认证、鉴权、准入控制 普通用户进行访问的时候,都需要经过 apiserver, apiserver 做统一协调,比如门卫 访问过程中,需要证书、token、或者用户名和密码 如果访问 pod 需要 serviceAccount K8S 安全控制框架主要由下面 3 个阶段进行控制,每一个阶段都支持插件方 2023-03-01 Kubernetes #Kubernetes
Kubernetes 安装 kubeadm 方式 1.18.0 版本 简介kubeadm 是官方社区推出的一个用于快速部署kubernetes集群的工具。 这个工具能通过两条指令完成一个kubernetes集群的部署: 12345# 创建一个 Master 节点kubeadm init# 将一个 Node 节点加入到当前集群中kubeadm join <Master节点的IP和端口 > Kubeadm方式搭建K8S集群步骤使用kubeadm方式搭建K8 2023-03-01 Kubernetes #Kubernetes
Kubernetes 安装 二进制 方式 1.18.0 版本 【暂时没有使用二进制方式搭建K8S集群,因此本章节内容不完整… 欢迎小伙伴能补充~】 准备工作在开始之前,部署Kubernetes集群机器需要满足以下几个条件 一台或多台机器,操作系统CentOS 7.x 硬件配置:2GB ,2个CPU,硬盘30GB 集群中所有机器之间网络互通 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像导入节点 禁止swap分区 步骤 创建多台虚拟机,安 2023-03-01 Kubernetes #Kubernetes
Kubernetes 安装方式对比 Kubeadm方式搭建K8S集群 安装虚拟机,在虚拟机安装Linux操作系统【3台虚拟机】 对操作系统初始化操作 所有节点安装Docker、kubeadm、kubelet、kubectl【包含master和slave节点】 安装docker、使用yum,不指定版本默认安装最新的docker版本 修改docker仓库地址,yum源地址,改为阿里云地址 安装kubeadm,kubelet 和 k 2023-03-01 Kubernetes #Kubernetes
Kubernetes 安装要求 搭建 k8s 环境平台规划单 master 集群单个 master 节点,然后管理多个 node 节点 多 master 集群多个 master 节点,管理多个 node 节点,同时中间多了一个负载均衡的过程 服务器硬件配置要求测试环境master: 2核 4G 20G node: 4核 8G 40G 生产环境master: 8核 16G 100G node: 16核 2023-03-01 Kubernetes #Kubernetes
Kubernetes 常见错误及处理思路 Pod常见错误及处理思路Pod可能会出现启动和运行时错误。 启动错误包括: ImagePullBackoff ImageInspectError ErrImagePull ErrImageNeverPull RegistryUnavailable InvalidImageName 运行时错误包括: CrashLoopBackOff RunContainerError KillContaine 2023-03-01 Kubernetes #Kubernetes