当前位置: 首页 > news >正文

kubernetes自定义pod启动用户

一、kubernetes自定义pod启动用户

  一)以root用户启动pod

containers:- name: ...image: ...securityContext:runAsUser: 0

  二)以普通用户启动pod

  1、从构建镜像角度修改
# RUN命令执行创建用户和用户组(命令创建了一个用户newuser设定ID为10000,并指定了用户登录后使用的主目录和shell)
RUN groupadd --gid 10000 newuser \&& useradd --home-dir /home/newuser --create-home --uid 10000 --gid 10000 --shell /bin/sh --skel /dev/null newuser# 指定用户,从这一行往下开始的每个命令都是以newuser身份而不是root身份运行(比如后面的CMD、EntryPoint)
USER newuser
   2、从容器启动方式角度修改

  可以使用Pod安全上下文,将Pod的执行限制为特定的非root用户。

  通过Pod构建文件中添加securityContext来配置Pod的安全设置

apiVersion: v1
kind: Pod
metadata:    name: pod-helloworld
spec:  securityContext: runAsNonRoot: truerunAsUser: 10000runAsGroup: 10000fsGroup: 10000    

  runAsUser指定Pod内的任何容器仅以userID为10000的运行,runAsGroup指定的容器内所有进程的组ID(组ID不指定默认为0)。你可以先进入容器,然后使用 ps 命令查看进程的用户。

  三)以root用户进入pod

  1、首先找到你需要进入对应namespace的pod名
kubectl get pod|grep podname
  2、找到pod所在的节点以及容器id
kubectl describe pod “pod名”
在所给信息中找到以下字段:Node:所查pod所在的节点Container ID:所查pod的容器id,形如docker://...,注意Container ID 不包括docker://
  3、ssh到pod对应节点
  4、以root用户权限进入pod
docker exec -it -u root 'Container ID' /bin/bash


 

http://www.lryc.cn/news/460609.html

相关文章:

  • C4T避风型电动采光排烟天窗(图集09J621-2)
  • 多态常见面试问题
  • 案例-登录认证(上)
  • 对BSV区块链下一代节点Teranode的答疑解惑(上篇)
  • vue父子组件传参的方法
  • 关于this指针
  • 机器学习西瓜书
  • 如何使用 Puppeteer 和 Browserless 运行自动化测试?
  • python菜鸟知识
  • GPT4o,GPTo1-preview, 拼
  • 论文笔记:Pre-training to Match for Unified Low-shot Relation Extraction
  • 一篇文章带你快速了解linux中关于信号的核心内容
  • openEuler、Linux操作系统常见操作-(6)如何登录Linux
  • Python基础语法条件
  • 006-MAVEN 的使用
  • npm使用时报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json.
  • 软考中级网络工程师——高级配置
  • Leetcode 第 141 场双周赛题解
  • Linux性能调优,还可以从这些方面入手
  • STM32的独立看门狗定时器(IWDG)技术介绍
  • 自动化生成工作流?英伟达提出ComfyGen:通过LLM来匹配给定的文本提示与合适的工作流程
  • indicatorTree-v10练习(有问题)
  • python源码:指定麦克风/音响播放歌曲
  • 基于华为云智慧生活生态链设计的智能鱼缸
  • OJ-1015图像物体的边界
  • RAG 入门实践:从文档拆分到向量数据库与问答构建
  • 445: 选择问题
  • IP地址类型选择指南:动态IP、静态IP还是数据中心IP?
  • 基于Python flask的豆瓣电影可视化系统,豆瓣电影爬虫系统
  • 面试不是一场遭遇战