k8s通过系统配置文件kubeconfig文件实现权限的精细化分配

这篇具有很好参考价值的文章主要介绍了k8s通过系统配置文件kubeconfig文件实现权限的精细化分配。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过系统配置文件kubeconfig文件实现权限的精细化分配

一.获取k8s apiserver 地址

cat /etc/kubernetes/manifests/kube-apiserver.yaml
kubectl -n planck describe secret $(kubectl get secret -n planck | grep lishanbin | awk '{print $1}')

k8s的apiserver地址为:https://xxx:6443
token=“xxx”

二.集群的ca证书生成

cfssl 安装

[root@localhost etcd]# wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
[root@localhost etcd]# mv cfssl_linux-amd64 /usr/bin/cfssl

cfssljson 安装

[root@localhost etcd]# wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
[root@localhost etcd]# mv cfssljson_linux-amd64 /usr/bin/cfssljson

生产证书

[root@localhost etcd]# chmod +x /usr/bin/{cfssl,cfssljson}
cfssl gencert -initca ca-csr.json | cfssljson  -bare ca

三.创建kubeconfig文件

1.设置集群参数

config文件引入集群ca证书,这里的set-cluster 可以任意设置,想叫什么集群名字都可以,我这里定义为mykubernetes,kubeconfig文件名称也随意定义,我这里定义为test.kubeconfig,此命令执行后会在当前目录生成test.kubeconfig这个文件:

KUBE_APISERVER="https://kube-apiserver.allenjol.cn"
SECRET_TOKEN="xxxxxx"
 
kubectl config set-cluster mykubernetes \
--certificate-authority=/mnt/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=test.kubeconfig

定义的用户名称是test,当然,用户名称可以随意定义。里面的token就已经带了前面建立的sa的权限—查看dev这个namespace下的pod的权限:

kubectl config set-credentials "test" \
--token=${SECRET_TOKEN} \
--kubeconfig=test.kubeconfig

定义上下文名称

kubectl config set-context quanxianfenpei \
  --cluster=mykubernetes \
  --user=test \
  --kubeconfig=test.kubeconfig

查看(发现没有)

kubectl config get-contexts

切换上下文,其实这一步就是将ca证书和token关联起来并写在了这个新定义的kubeconfig文件内。

验证:文章来源地址https://www.toymoban.com/news/detail-643094.html

kubectl  create deploy nginx --image=nginx -n saas
kubectl --kubeconfig=/root/cert/test.kubeconfig  delete  pod nginx-6799fc88d8-xp76x   -n planck --insecure-skip-tls-verify

到了这里,关于k8s通过系统配置文件kubeconfig文件实现权限的精细化分配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s 通过配置 hostAliases 来进行域名解析

    在 Kubernetes (K8s) 中,hostAliases 是一种用于在 Pod 中配置主机名与 IP 地址映射的机制。通过使用 hostAliases,你可以将指定的主机名映射到 Pod 所在节点的 IP 地址,从而实现对主机名的自定义解析。这对于一些特定的用例,比如与主机上的外部资源进行交互,非常有用。 以下是一

    2024年02月08日
    浏览(48)
  • k8s-1.28.2权限管理(系统普通用户查看对应namespace)

    操作前提是已经有namespace,本文的namespace是nacos umask 077; openssl genrsa -out nacos1.key 2048 参数:-subj指定组和用户,其中O是组名,CN是用户名 openssl req -new -key nacos1.key -out nacos1.csr -subj \\\"/O=nacos1/CN=nacos1\\\" openssl x509 -req -in nacos1.csr -CA /etc/kubernetes/pki/ca.crt -CAkey /etc/kubernetes/pki/ca.key -CAcreat

    2024年01月24日
    浏览(67)
  • k8s通过nfs-provisioner配置持久化存储

    一、nfs-client-provisioner简介 Kubernetes集群中NFS类型的存储没有内置 Provisioner。但是你可以在集群中为NFS配置外部Provisioner。 Nfs-client-provisioner是一个开源的NFS 外部Provisioner,利用NFS Server为Kubernetes集群提供持久化存储,并且支持动态购买PV。但是nfs-client-provisioner本身不提供NFS,需

    2024年02月11日
    浏览(41)
  • 通过keepalived+nginx实现 k8s apiserver节点高可用

    K8s 主机配置: 配置: 4Gib 内存/4vCPU/60G 硬盘 网络:机器相互可以通信 k8s 实验环境网络规划: podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 10.96.0.0/12 物理机网段:192.168.1.0/24 2个控制节点2个工作节点 K8S集群角色 IP地址 主机名 安装的组件 控制节点 192.168.1.63 xueg

    2024年02月03日
    浏览(39)
  • NFS文件共享系统(K8S)

    部署NFS文件共享服务,为Kubernetes提供NFS共享做准备 编辑 /etc/exports 文件。每一行代表一个共享目录,描述目录如何共享 编写规则: # 共享目录 [客户端1 选项] [客户端2 选项] 例子: /nfsshare *(rw,all_squash,sync,anonuid=1001,anongid=1000) 客户端常见编写方式 指定IP地址的主机:192.168.3

    2024年02月09日
    浏览(31)
  • 【云原生-K8s-1实例】通过yaml 文件编排一个web-MySQL小项目

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! RC(ReplicationController)是Kubernetes系统中的核心概念之一,简单来说,它其实定义了一个期望的场景,即声明某

    2024年02月10日
    浏览(62)
  • k8s-权限管理

    我们在目前的k8s集群环境里面,只能在master节点上执行kubectl的一些命令,在其他节点上执行就会报错 我们可以看到在node1上执行kubectl get nodes都会报错,那就更不谈创建pod之类的操作了,那为什么master可以而其他节点不行呢?这是因为在master节点上是有一个kubeconfig的 我们可

    2024年02月22日
    浏览(34)
  • K8S学习指南(37)-k8s权限管理对象User

    在Kubernetes(K8s)中,用户(User)是一个重要的权限管理对象,用于表示在集群中执行操作的实体。通过用户,Kubernetes能够对集群中的各种资源进行身份验证和授权。本文将深入研究Kubernetes中的用户对象,包括其基本概念、创建方式以及详细示例。 1. 用户是什么? 在Kubern

    2024年01月23日
    浏览(42)
  • k8s 认证和权限控制

    说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont , 以及相应的 token ,证书 crt,和基于 HTTP 的认证等等 k8s 会使用如上几种方式来获取客户端身份信息,不限于上面几种 前面有说到 ApiServer 收到请求后,会去校验客户端是否有权限访问, ApiServer 会去自身的认证

    2024年02月12日
    浏览(36)
  • k8s kubelet coredns ubuntu修改dns配置文件读取路径

    coredns 服务默认使用节点上的dns配置,由于在 Ubuntu18 及以上版本,默认是启用 systemd-resolved 服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包