k8s 定义pod的默认工作目录
时间: 2023-07-01 19:11:38 浏览: 345
Kubernetes 中,Pod 的默认工作目录是 `/`,也就是根目录。这是因为 Pod 中的容器可以有不同的工作目录,因此 Kubernetes 不会强制指定一个默认的工作目录。但是,如果您希望在所有容器中使用相同的工作目录,则可以在容器镜像中使用 `WORKDIR` 指令来指定默认的工作目录。当然,您也可以在 Pod 的 YAML 文件中使用 `workingDir` 字段来指定容器的工作目录。例如:
```
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: myimage
workingDir: /app
command: ["./myapp"]
```
在上面的例子中,`workingDir` 字段指定了容器的工作目录为 `/app`,并且使用 `command` 字段指定了容器的启动命令为 `./myapp`。
相关问题
K8S 硬盘到达85会驱逐Pod 怎么更改
在Kubernetes中,硬盘到达一定使用量后会驱逐Pod,以避免磁盘空间不足的情况。默认情况下,硬盘使用量达到80%时,Kubernetes会开始清理不需要的数据以释放磁盘空间。如果硬盘使用量达到85%,Kubernetes会开始驱逐Pod。如果需要更改这些默认配置,可以通过修改kubelet的启动参数来实现。
以下是修改kubelet启动参数的步骤:
1. 编辑kubelet的启动配置文件,例如:
```
vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
```
2. 找到“ExecStart=/usr/bin/kubelet”这一行,添加需要更改的参数,例如:
```
ExecStart=/usr/bin/kubelet --eviction-hard="memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<10%" --eviction-soft="memory.available<200Mi,nodefs.available<20%,nodefs.inodesFree<20%" --eviction-soft-grace-period=1m --eviction-pressure-transition-period=5m
```
在上述示例中,我们添加了4个参数:
- `--eviction-hard`:定义硬阈值,即当内存可用空间小于100Mi或节点文件系统可用空间小于10%或节点文件系统可用inode数量小于10%时,将立即驱逐Pod。
- `--eviction-soft`:定义软阈值,即当内存可用空间小于200Mi或节点文件系统可用空间小于20%或节点文件系统可用inode数量小于20%时,将开始驱逐Pod。
- `--eviction-soft-grace-period`:定义软阈值容忍时间,即当软阈值条件满足后,Kubernetes将等待1分钟后再开始驱逐Pod。
- `--eviction-pressure-transition-period`:定义硬阈值到软阈值的过渡时间,即当内存可用空间小于100Mi或节点文件系统可用空间小于10%或节点文件系统可用inode数量小于10%时,Kubernetes将等待5分钟后再开始驱逐Pod。
3. 修改完成后,保存文件并重新加载kubelet的配置文件:
```
systemctl daemon-reload
```
4. 重启kubelet服务:
```
systemctl restart kubelet
```
修改完成后,Kubernetes将根据新的配置来判断何时开始驱逐Pod,从而避免磁盘空间不足的情况。
k8s service工作方式
Kubernetes中的Service是一种抽象,它定义了一组Pod的逻辑集合,这些Pod通常提供一个共同的应用程序或服务。Service为这些Pod提供了一个统一的入口,以便它们可以被其他应用程序或服务访问。
Service有三种类型:ClusterIP、NodePort、和LoadBalancer。
ClusterIP是默认类型,它为Pod提供了一个虚拟IP地址,只能在Kubernetes集群内部访问。当其他应用程序或服务需要访问Service时,它们只需要使用Service的虚拟IP地址即可。
NodePort是一种类型,它将Service映射到每个节点的IP地址和端口上。这使得外部应用程序可以通过节点的IP地址和端口访问Service。
LoadBalancer是另一种类型,它将Service映射到一个外部负载均衡器上,以实现外部流量的负载均衡。
Service的工作原理如下:
1. 当创建Service时,Kubernetes会为其分配一个虚拟IP地址。
2. 当Pod启动时,它会注册自己到Service中,并提供它的IP地址和端口。
3. 当其他应用程序或服务需要访问Service时,它们只需要使用Service的虚拟IP地址即可。
4. 当请求到达Service时,它会根据其类型将请求路由到相应的Pod中。如果Pod失败,则Service将自动将请求路由到其他可用的Pod上。
阅读全文