pod
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(运行中): ......
K8S-Pod挂载数据卷权限问题
# 问题 ```yaml [root@master-176 ccas]# cat ccas-tomcat.yaml kind: Deployment apiVersion: extensions/v1beta1 metadata: name: ccas-tomcat-deploy spec: rep ......
Deployment、ReplicaSet和Pod三者关系
Deployment控制ReplicaSet(版本),ReplicaSet控制Pod(副本数)。 更新策略 Recreate 删除所有已存在的pod,重新创建新的; RollingUpdate 滚动升级spec.minReadySeconds: 新建Pod状态保持Ready持续时间的最小值,才被认为 ......
Pod生命周期
创建Pod内容器 删除Pod资源 status.phase status.phase是Pod的当前状态。 Phase的5种取值 1. PendingAPI对象已经被创建并保存在Etcd中。Pod里有些容器因为某种原因而不能被顺利创建。例如,调度不成功。2. RunningPod调度成功,容器都已经创 ......
Jenkins远程管理K8S集群实现自动POD部署
# Jenkins远程管理K8S集群实现自动POD部署 大致思路 1. 修改.kube/config 文件,增加新集群的context 2. 建立隧道将集群控制端口映射到Jenkins服务器本地端口 3. 测试jenkin 切换到新context 是否能控制该集群 4. 新集群配置对接Harbor仓 ......
kubernetes之 Pod控制器
第五部分 Pod控制器1、pod回顾 apiVersion, kind, metadata, spec, status(只读) spec: containers nodeSelector nodeName restartPolicy: Always, Never, OnFailure contain ......
在 kubernets pod 里使用 perf 直接调试 rust 程序
我们想要了解我们程序在运行时候的真实情况,但是感觉 rust 性能方面的调试真的比 go 麻烦非常多。 首先在 rust cargo.toml 中添加 [profile.release] debug = true 直接在 pod 里面进行调试限制比较多,首先我们可能需要安装一些必要的东西比如 per ......
AMD 10G AXI Ethernet Checksum Offload Example PetaLinux 编译错误 “pod2man: command not found”
AMD 10G AXI Ethernet Checksum Offload Example PetaLinux 编译错误 “pod2man: command not found” ## 例子来源 [10G AXI Ethernet Checksum Offload Example Design](h ......
深入解读核心资源Pod(二)
## 一、Pod 资源清单 Pod 资源清单详解 ```yaml apiVersion: v1 # 版本号,例如v1 kind: Pod # 资源类型,例如Pod metadata: # 元数据,包含name、namespace、labels等 name: string # Pod名称,例如ngin ......
pod 容器下线前做些生命周期的操作,如服务从注册中心下线
1.我们可以写一些下线的脚本如:(postop.sh) #!/bin/bash #先从注册中心下线 curl http://127.0.0.1:9010/server/deregister sleep 20 #睡眠20s,调用springboot优雅关机接口 curl -X POST http:// ......
深入解读核心资源Pod
## 一、Pod 概念 Pod是Kubernetes中`最小的调度单位`,是一组容器的集合,Pod中的容器共享网络和存储资源,Pod中的容器可以通过localhost进行通信,Pod中的容器可以通过共享的Volume进行数据共享。 k8s 是通过定义一个 Pod 的资源,然后再 Pod 里面运行容器 ......
K8S | 容器和Pod组件
不论是软件环境还是虚拟机系统的搭建,基本都是通过下载软件安装包,然后在本地部署和定期更新以及运行,基于这个场景再去理解容器和Pod组件,会轻松许多; ......
阿里云 ACK Pod重启:pod was OOM killed
原因为:limits和requests的值设定为一样的了, pod request达到了limit限制,kubelet会统计到request+缓存就超限,然后触发自动重启 resources: limits: memory: 4Gi requests: memory: 4Gi 调整为 resourc ......
Pod的创建过程原理
Pod的创建过程原理 首先,用户通过kubectl或web端向APIServer发送创建pod的请求; APIServer会做出认证/鉴权响应,然后检查信息并把数据存储到ETCD里,创建Deployment资源并初始化; controller-manager通过list-watch机制,检查发现新到 ......