horizontal autoscaler hpa pod
k8s 学习笔记之 Pod 控制器——Horizontal Pod Autoscaler(HPA)
在之前的学习中,我们已经可以实现通过手工执行`kubectl scale`命令实现 Pod 扩容或缩容,但是这显然不符合 Kubernetes 的定位目标——自动化、智能化。Kubernetes 期望可以实现通过监测 Pod 的使用情况,实现 pod 数量的自动调整,于是就产生了 Horizonta ......
k8s 学习笔记之 Pod 控制器——Deployment
## Deployment(Deploy) 为了更好的解决服务编排的问题,kubernetes 在 V1.2 版本开始,引入了 Deployment 控制器。值得一提的是,这种控制器并不直接管理 pod,而是通过管理 ReplicaSet 来简介管理 Pod,即:Deployment 管理 Repl ......
k8s 学习笔记之 Pod 控制器——ReplicaSet(RS)
**Pod控制器介绍** Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: - 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 - 控制器创建的pod:kubernetes通过控制器创建的pod ......
【Azure K8S|AKS】进入AKS的POD中查看文件,例如PVC Volume Mounts使用情况
问题描述 在昨天的文章中,创建了 Disk + PV + PVC + POD 方案(https://www.cnblogs.com/lulight/p/17604441.html),那么如何进入到POD之中去查看文件呢? 如PVC Volume Mounts中文件? 问题解答 第一步:进入POD内部 ......
Cilium系列-12-启用 Pod 的 BBR 拥塞控制
## 系列文章 * [Cilium 系列文章](https://ewhisper.cn/tags/Cilium/) ## 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提 ......
k8s 学习笔记之 Pod——Pod 的调度
## Pod 的调度 在默认情况下,一个 Pod 在哪个 Node 节点上运行,是由 Scheduler 组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际使用中,这并不满足的需求,因为很多情况下,我们想控制某些 Pod 到达某些节点上,那么应该怎么做呢?这就要求了解 kuberne ......
k8s Cluster Autoscaler
Cluster Autoscaler Cluster AutoScaler 是一个自动扩展和收缩 Kubernetes 集群 Node 的扩展。当集群容量不足时,它会自动去 Cloud Provider (支持 GCE、GKE、Azure、AKS、AWS 等)创建新的 Node,而在 Node 长时 ......
k8s 学习笔记之 Pod——Pod 的配置
## Pod 的配置 先研究`pod.spec.containers`属性,这也是pod配置中最为关键的一项配置。 ```shell [root@k8s-master01 ~]# kubectl explain pod.spec.containers KIND: Pod VERSION: v1 RE ......
k8s 学习笔记之 Pod——Pod 的生命周期
## Pod 生命周期 我们一般将 pod 对象从创建至终的这段时间范围称为 pod 的生命周期,它主要包含下面的过程: - pod 创建过程 - 运行初始化容器(init container)过程 - 运行主容器(main container) - 容器启动后钩子(post start)、容器终止 ......
k8s 学习笔记之 Pod——Pod 的介绍
## Pod 的介绍 ### Pod 的结构 ![](https://img2023.cnblogs.com/blog/3099366/202308/3099366-20230802141418473-1891252008.png) 每个 Pod 中都可以包含一个或者多个容器,这些容器可以分为两类: ......
Gin+Xterm.js实现远程Kubernetes Pod(一)
Xterm.js简介 xterm.js (https://xtermjs.org/)是一个开源的 JavaScript 库,它模拟了一个终端接口,可以在网页中嵌入一个完全功能的终端。这个库非常灵活,并且具有很多定制选项和插件系统。 下面是一些使用 xterm.js 的基本步骤: 首先,需要在项目中安 ......
rock5b uboot 命令试玩 linux安装tftpd-hpa
光速开启一个能用的linux FTP 服务器 apt install vsftpd -y && systemctl enable vsftpd && systemctl start vsftpd 然后发现uboot好像用的是tftp。。。。。。。。一种简单文本传送协议,下面linux安装tftpd ......
calicoctl工具部署-k8s中的pod的方式
1、概述 本文档介绍的是将calicoctl工具,以pod的方式,部署在k8s集群中 2、部署过程 2.1 下载calicoctl工具的镜像、上传到本地的镜像仓库中 本次使用的版本是:calico/ctl:v3.21.4 这个版本和当前运行的calico-node是一个版本(必须一致,包括后面的小版 ......
k8s中如何固定一个pod的IP地址?该集群网络插件是calico
1、首先查看calico的CIDR地址范围 [root@nccztsjb-node-17 ~]# calicoctl get ippool NAME CIDR SELECTOR default-pool 172.23.0.0/16 all() 2、然后呢,在这个地址范围内,给pod选择一个固定的IP ......
kubelet 配置文件设置pod数量
查看kubelet进程 修改配置文件,添加 --max-pods=10 [root@node1 ~]# vim /lib/systemd/system/kubelet.service.d/10-kubeadm.conf # Note: This dropin only works with kube ......
k8s pod,pvc,pv无法删除问题
一般删除步骤为:先删pod再删pvc最后删pv 但是遇到pv始终处于“Terminating”状态,而且delete不掉 1、查看pvc被哪个pod使用 ``` [root@hadoop03 storageclass]# kubectl describe pvc PVC-NAME | grep Mo ......
如何在pod级别进行安全的设置,设置容器的运行用户、用户组、挂载数据卷的权限?
通过下面的yaml配置文件,在pod级别进行安全的设置: apiVersion: v1 kind: Pod metadata: name: security-context-demo spec: securityContext: runAsUser: 1000 runAsGroup: 3000 fs ......
如何创建一个pod以非root用户运行?
通过设置pod的securityContext.runAsUser设置pod用户以哪个用户运行 apiVersion: v1 kind: Pod metadata: name: my-pod-runasuser spec: containers: - name: my-container image ......
Kubernetes修改Pod数量
修改kubelet pod数量 并在启动命令尾部添加变量 $KUBELET_NODE_MAX_PODS 如下: 重启kubelet: [root@k8s02 ~]# systemctl daemon-reload && systemctl restart kubelet 检查结果: [root@k8 ......
kubectl - 如何列出Pod中运行的所有容器,包括初始化容器
初始化容器存储在spec.initContainers中: kubectl get pods POD_NAME_HERE -o jsonpath={.spec.initContainers[*].name} 运行的所有容器在containers中 kubectl get pods POD_NAME_ ......
调试Pod
## 诊断问题 故障排查的第一步是先给问题分类。问题是什么?是关于 Pod、Replication Controller 还是 Service? - [调试 Pod](https://kubernetes.io/zh-cn/docs/tasks/debug/debug-application/deb ......
调试运行中的Pod
## 使用 `kubectl describe pod` 命令获取 Pod 详情 与之前的例子类似,我们使用一个 Deployment 来创建两个 Pod。 [`application/nginx-with-request.yaml`](https://raw.githubusercontent.c ......
为Pod配置服务账号
## 配置服务账号 服务账号(ServiceAccount)为Pod中运行的进程提供身份标识,并映射到Service Account对象。 ### 默认服务账号 如果不手动设置服务账号,默认会分配default k8s的api服务器将通过服务账号校验策略分配Pod可执行的权限 ### 使用多个服务账 ......
配置Pod使用投射卷做存储
## 配置Pod使用投射卷作存储 可以被投射的卷: - secret - configMap - downwardAPI - serviceAccountToken ### 为Pod配置投射卷 使用本地文件创建用户名和密码secret,然后创建运行一个容器的Pod,该Pod使用projected卷将 ......
为Pod或容器配置安全上下文
## 为Pod或容器配置安全上下文 **SecurityContext**的内容: - **自主访问控制**:基于UID和GID判定对对象的访问权限 - **SELinux**: 为对象赋予安全性标签 - 特权模式或非特权模式运行 - **Linux权能**: 为进程赋予root用户的部分权限 - ......
在Pod中的容器之间共享进程命名空间
## 在Pod中的容器之间共享进程命名空间 当启用进程命名空间的时候,容器中的进程对同一Pod中的所有其他容器都是可见的 ```yaml apiVersion: v1 kind: Pod metadata: name: nginx spec: shareProcessNamespace: true ......
配置Pod的服务质量
## QoS类 QoS(Quality of Service class,Qos class):服务质量类 Kubernetes创建Pod时,会将如下Qos类之一设置到Pod上: - Guaranteed - Burstable - BestEffort 先创建一个qos-example命名空间方便 ......
把Pod分配到node上
### 分配Pod到node #### 给node打上标签 `kubectl label nodes disktype=ssd` #### 查看标签 `kubectl get nodes --show-labels` #### 根据标签分配node ```yaml apiVersion: v1 ki ......
Pod状态
Pod状态 Normal Kubernetes(K8s)中的 Pod 状态有以下几种: Pending(等待中): Pod 已经被 Kubernetes 接受,但是容器尚未被创建。这可能是由于调度器正在寻找合适的节点来运行容器,或者正在等待容器镜像下载或其他初始化操作。 Running(运行中): ......