随笔分类 - 黄嘉波-笔记汇总 / Kubernetes:
摘要:在Kubernetes (K8S) 中,Service资源可以通过特定类型支持在集群外部访问。以下是一些可以提供外部访问能力的Service类型: NodePort: NodePort服务会将服务映射到每个节点上的一个静态端口(范围默认为30000-32767)。通过这个端口,集群外部可以直接通过任
阅读全文
摘要:在Kubernetes中,ReplicaSet(简称RS)是工作负载API对象,用于确保指定数量的Pod副本在集群中运行。当需要升级或回滚RS管理的Pod时,可以通过修改ReplicaSet的配置来实现。下面是如何实现RS资源的升级和回滚的步骤: 升级RS资源 修改ReplicaSet的配置: 要升
阅读全文
摘要:在Kubernetes中,通常Pod的创建和管理是通过API Server进行的。API Server是Kubernetes集群的控制平面组件之一,负责处理所有与资源相关的RESTful API请求。然而,理论上讲,可以绕过API Server直接创建Pod,但这通常不是推荐的做法,因为它可能导致集
阅读全文
摘要:在Kubernetes中,Pod被删除后能够自动拉起的功能是通过Deployment、StatefulSet或ReplicaSet等控制器来实现的。这些控制器负责维护指定数量的Pod副本,并确保在某个Pod实例由于任何原因(包括手动删除)消失时,会有一个新的Pod实例被创建以替换它。 以下是具体实现
阅读全文
摘要:在Kubernetes中,Pod的IP地址变化通常是由调度器重新调度Pod、节点故障、Pod升级或缩放等原因引起的。为了确保Pod IP变化时服务不受影响,你可以采取以下具体步骤: 使用Service: 创建一个Service,指定其Selector以匹配你的Pod标签。 当Pod的IP地址发生变化
阅读全文
摘要:在Kubernetes(K8S)中,创建多个名为"Linux"的Pod并不是通过直接指定相同的Pod名称来实现的,因为每个Pod必须具有唯一的名称。然而,您可以创建多个使用相同模板或配置文件的Pod,这些Pod可以共享类似的标签(label),从而可以通过标签来逻辑上归类为“Linux”类型。 例如
阅读全文
摘要:在Kubernetes(K8S)中,Pod可以配置健康检查来监控容器的运行状态。Kubernetes提供了两种类型的健康检查: 就绪探针(Readiness Probe): 就绪探针用于确定Pod中的容器是否准备好服务请求。如果探针失败,则Pod会被从对应的Service后端列表中移除,直到它通过就
阅读全文
摘要:答案:当然可以,在Kubernetes(简称K8S)中,为了允许集群中的Pod能够从Harbor私有仓库拉取镜像,您可以直接通过编写资源清单(YAML文件)来创建一个Secret对象。这个Secret将包含访问Harbor所需的认证信息。以下是一个示例: apiVersion: v1 kind: S
阅读全文
摘要:在Kubernetes(K8s)中,要从私有的Harbor仓库拉取镜像并部署到集群,需要完成以下步骤: 配置 Harbor 凭证: 在 Kubernetes 中,可以通过创建一个 Secret 对象来存储 Harbor 仓库的认证信息。例如,可以创建一个 Docker-registry 类型的 Se
阅读全文
摘要:在Kubernetes(K8s)中,存储敏感信息主要有以下几种方式: 使用Secret资源: Kubernetes通过Secret资源对象来安全地存储和管理敏感数据,如密码、密钥、证书等。Secret的数据以密文形式存储在etcd集群中。 创建Secret的方式有多种: --from-literal
阅读全文
摘要:在 Kubernetes (k8S) 中,多个 Pod 如需使用同一个配置文件,可以采用以下几种方法: ConfigMap 创建一个 ConfigMap,将共享的配置文件内容作为键值对存储。然后,在每个需要使用该配置文件的 Pod 的定义中,通过卷(Volume)和卷挂载(VolumeMounts)
阅读全文
摘要:在 Kubernetes (k8S) 中,同一个 Pod 内实现数据持久化和数据共享的方式主要通过使用 Volume(卷)来完成。Volume 是 Kubernetes 提供的一种抽象,它代表了宿主机上的一个目录或存储设备,可以被 Pod 中的一个或多个容器挂载并访问。 1. 数据持久化: Empt
阅读全文
摘要:在 Kubernetes (k8S) 中,向 Pod 中指定容器传递环境变量可以通过以下几种方式: 直接在 Pod 定义的 YAML 文件中声明环境变量: 在 Pod 的 spec.containers 部分,可以为每个容器定义 env 字段,它是一个环境变量数组。例如: apiVersion: v
阅读全文
摘要:在 Kubernetes (k8S) 中,Pod 的容器重启策略(restartPolicy)定义了当 Pod 中的容器终止运行时 kubelet 应该如何处理。Kubernetes 提供了以下三种重启策略: Always: 默认值,表示无论容器以何种方式退出(包括正常退出、非零退出码或其他故障),
阅读全文
摘要:在 Kubernetes (k8S) 中,镜像下载策略主要体现在 imagePullPolicy 这个字段上,它控制了 Pod 中容器镜像的拉取行为。以下是三种不同的 imagePullPolicy 策略: Always: 当 imagePullPolicy 设置为 Always 时,每次创建新 P
阅读全文
摘要:在 Kubernetes (k8S) 中,要实现 Pod 中容器的文件与宿主机之间的相互拷贝,可以使用 kubectl cp 命令。以下是具体的命令格式和用法: 从 Pod 中复制文件到本地(宿主机): kubectl cp [NAMESPACE/]POD:CONTAINER_PATH LOCAL_
阅读全文
摘要:在 Kubernetes (k8S) 中,使用 kubectl logs 命令无法查看 Pod 日志的原因可能有多种。以下是一些常见原因及其相应的排查和解决方法: Pod 状态问题: 检查 Pod 是否处于 Running 状态。如果 Pod 处于 Pending、CrashLoopBackOff
阅读全文
摘要:在 Kubernetes (k8S) 中,如果一个 Pod 中的容器已经崩溃停止,并且您想查看该容器的日志,可以使用 kubectl logs 命令配合 -p 或 --previous 参数来获取上一个(已停止)容器的日志。命令格式如下: kubectl logs <pod-name> -p 这里
阅读全文
摘要:在 Kubernetes (k8S) 中,要查看一个 Pod 最近 20 分钟的日志,可以使用 kubectl logs 命令结合 --since 参数来指定时间范围。但是请注意,kubectl logs 目前并不直接支持以分钟为单位的时间参数,而是接受时间戳或者相对时间(例如秒数)。 假设您想要查
阅读全文
摘要:在 Kubernetes (k8S) 中,当一个 Pod 包含多个容器时,可以通过 kubectl exec 命令连接到指定的容器。kubectl exec 命令允许您在运行中的 Pod 中执行命令或打开交互式 shell。 要连接到多容器 Pod 中的特定容器,请按照以下格式执行命令: kubec
阅读全文