网站前端后端分开做可以吗企业网站报价

张小明 2026/1/13 0:02:54
网站前端后端分开做可以吗,企业网站报价,论坛平台,朋友圈营销kubernetes-对node的kubeconfig安全加固 ​ 日拱一卒#xff0c;功不唐捐。大家好#xff0c;目前我的kubernetes集群遇到一个安全问题#xff0c;因为有些集群部署kubeadm部署方式部署的#xff0c;所以有些集群中kubelet启动的时候使用的admin权限的kubeconfig#xff…kubernetes-对node的kubeconfig安全加固​ 日拱一卒功不唐捐。大家好目前我的kubernetes集群遇到一个安全问题因为有些集群部署kubeadm部署方式部署的所以有些集群中kubelet启动的时候使用的admin权限的kubeconfig这个在生产环境下是存在安全风险的所以考虑对其进行安全加固。​ 我们知道kubelet启动的时候需要传kubeconfig如果使用的是admin权限的kubeconfig那如果被黑客利用了有很大的安全风险那如何解决呢我们自然会想到要么降低权限大小要么选择加密对吧加密自然麻烦一些你得改kubernetes代码加密倒不是不可以主要是还得自己维护代码所以这里选择降低权限选择降低node权限使其只能访问本节点数据不能横向访问其他节点数据。其实是借助了kubernetes的Node Authorizer NodeRestriction 限制kubelet只能访问本node的相关资源。完整流程admin kubeconfig仅用于创建 CSR ↓ 创建 kubelet CSRsystem:node:nodeName ↓ approve 签发证书 ↓ 生成 kubelet 专用 kubeconfig ↓ 重启 kubelet ↓ 删除 admin kubeconfig假设node的主机名称是 node1.localdomain1. 控制节点参数apiserver启用NodeRBAC--authorization-modeNode,RBACapiserver启用NodeRestriction Admission--enable-admission-pluginsNodeRestrictioncontroller-manager--cluster-signing-cert-file/etc/kubernetes/pki/ca.pem --cluster-signing-key-file/etc/kubernetes/pki/ca-key.pem2. 为node生成证书生成私钥#openssl genrsa -out kubelet.key 2048CSR 资源用于请求指定签名者签发证书流程如下设置 CSR 的 CN 和 O 属性非常重要。CN 是用户的名称O 是此用户所属的群组。 你可以参阅 RBAC 了解标准的群组。#openssl req -new \ -key kubelet.key \ -subj /CNsystem:node:node1.localdomain/Osystem:nodes \ -out kubelet.csr创建 CertificateSigningRequest 并通过 kubectl 将其提交到 Kubernetes 集群, 并 批准CerfificateSigningRequest确保状态是Approved,Issued#cat EOF | kubectl --kubeconfig config-cluster-test apply -f - apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: name: node1.localdomain-kubelet-client spec: signerName: kubernetes.io/kube-apiserver-client-kubelet request: $(base64 -w0 kubelet.csr) usages: - client auth - digital signature - key encipherment EOF #kubectl --kubeconfig config-cluster-test certificate approve node1.localdomain-kubelet-client证书值以 Base64 编码格式显示在.status.certificate下, 从 CertificateSigningRequest 导出已颁发的证书。#kubectl --kubeconfig config-cluster-test get csr node1.localdomain-kubelet-client -o jsonpath{.status.certificate} | base64 -d kubelet-client.crt将证书配置到 kubeconfig 中并生成新的 /var/lib/kubelet/kubeconfig#kubectl --kubeconfig config-cluster-test config set-cluster kubernetes \ --serverhttps://10.236.111.57:6443 \ --certificate-authority/etc/kubernetes/ca.crt \ --embed-certstrue \ --kubeconfig/var/lib/kubelet/kubeconfig #kubelet-client.crt和kubelet-client.key为前面生成的私钥和crt #kubectl --kubeconfig config-cluster-test config set-credentials system:node:node1.localdomain \ --client-certificate/var/lib/kubelet/pki/kubelet-client.crt \ --client-key/var/lib/kubelet/pki/kubelet-client.key \ --embed-certstrue \ --kubeconfig/var/lib/kubelet/kubeconfig #kubectl --kubeconfig config-cluster-test config set-context default \ --clusterkubernetes \ --usersystem:node:node1.localdomain \ --kubeconfig/var/lib/kubelet/kubeconfig #kubectl --kubeconfig config-cluster-test config use-context default \ --kubeconfig/var/lib/kubelet/kubeconfig测试#kubectl --kubeconfig/var/lib/kubelet/kubeconfig auth can-i get pods测试效果实测不能list ns以及configmap/secret, 只能获取本pod相关的configmap以及pod以及secret都能获取同时能list获取nodes以及pod但不能exec pod.# kubectl --kubeconfig/var/lib/kubelet/kubeconfig -n my-test get secrets Error from server (Forbidden): secrets is forbidden: User system:node:node1.localdomain cannot list resource secrets in API group in the namespace my-test: No Object name found附脚本#!/bin/sh #用于集群生成node证书 #------ 变量 -------# NODE_HOSTNAMEhostname #当前worker节点主机名 API_ENDPOINThttps://10.236.111.57:3141 #集群api的地址 CA_PUB_PATH/etc/kubernetes/ca.crt #集群的ca证书 ADMIN_KUBECONFIG/root/admin-kubeconfig #集群的admin的kubeconfig DST_KUBECONFIG_PATH/var/lib/kubelet/kubeconfig.node.new #最终新的kubeconfig #--------------------# #cd /root openssl genrsa -out kubelet-client.key 2048 openssl req -new \ -key kubelet-client.key \ -subj /CNsystem:node:$HOSTNAME/Osystem:nodes \ -out kubelet-client.csr kubectl --kubeconfig $ADMIN_KUBECONFIG delete csr $NODE_HOSTNAME-kubelet-client cat EOF | kubectl --kubeconfig $ADMIN_KUBECONFIG apply -f - apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: name: $NODE_HOSTNAME-kubelet-client spec: signerName: kubernetes.io/kube-apiserver-client-kubelet request: $(base64 -w0 kubelet-client.csr) usages: - client auth - digital signature - key encipherment EOF sleep 3 kubectl --kubeconfig $ADMIN_KUBECONFIG certificate approve $NODE_HOSTNAME-kubelet-client kubectl --kubeconfig $ADMIN_KUBECONFIG get csr $NODE_HOSTNAME-kubelet-client -o jsonpath{.status.certificate} | base64 -d kubelet-client.crt kubectl --kubeconfig $ADMIN_KUBECONFIG config set-cluster kubernetes \ --server$API_ENDPOINT \ --certificate-authority$CA_PUB_PATH \ --embed-certstrue \ --kubeconfig$DST_KUBECONFIG_PATH kubectl --kubeconfig $ADMIN_KUBECONFIG config set-credentials system:node:$NODE_HOSTNAME \ --client-certificate./kubelet-client.crt \ --client-key./kubelet-client.key \ --embed-certstrue \ --kubeconfig$DST_KUBECONFIG_PATH kubectl --kubeconfig $ADMIN_KUBECONFIG config set-context default \ --clusterkubernetes \ --usersystem:node:$NODE_HOSTNAME \ --kubeconfig$DST_KUBECONFIG_PATH kubectl --kubeconfig $ADMIN_KUBECONFIG config use-context default \ --kubeconfig$DST_KUBECONFIG_PATH #覆盖原来使用的kubeconfig cat $DST_KUBECONFIG_PATH /etc/kubernetes/admin.config参考https://kubernetes.io/zh-cn/docs/tasks/tls/certificate-issue-client-csr/
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

icp备案 网站服务内容承德网媒

Excalidraw 自定义组件库搭建指南 在技术团队频繁进行架构讨论、产品原型设计和系统建模的今天,一张清晰、一致且易于修改的示意图,往往比千言万语更有效。然而现实是:每次画“微服务数据库网关”的组合图都要从头开始?不同成员画…

张小明 2026/1/10 21:00:34 网站建设

建设网站兼职关于建设二级网站的报告

bilibili-api-python 完整使用教程:从入门到实战 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址:https://github.com/MoyuScript/bilibili-api 项目地址: https://gitcode.com/gh_mirrors/b…

张小明 2026/1/11 4:40:30 网站建设

创建电子商务网站全球ic采购网

Qwen3-30B-A3B-Thinking-2507:256K超长上下文开启AI推理新纪元 【免费下载链接】Qwen3-30B-A3B-Thinking-2507 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-30B-A3B-Thinking-2507 导语 阿里通义千问团队发布Qwen3-30B-A3B-Thinking-2507大模…

张小明 2026/1/7 8:32:32 网站建设

flash制作网站的好处常用wordpress搭建环境

3分钟掌握VoxCPM:零基础搭建专业级语音克隆系统 【免费下载链接】VoxCPM-0.5B 项目地址: https://ai.gitcode.com/OpenBMB/VoxCPM-0.5B 在当今数字化时代,语音克隆和开源TTS技术正以前所未有的速度改变着内容创作和语音交互的格局。想象一下&…

张小明 2026/1/7 8:32:30 网站建设

网站做常规优化小程序定制一般多少钱

Kotaemon版本升级注意事项与迁移方案 在构建企业级智能问答系统的过程中,我们常常面临一个现实挑战:如何在不中断服务的前提下,安全、高效地完成框架的版本迭代?尤其是在采用像 Kotaemon 这样集成了检索增强生成(RAG&a…

张小明 2026/1/7 8:32:28 网站建设

房天下网站建设怎么查公司是大中小微型企业

Nuclio是一个专为云原生环境设计的高性能无服务器事件和数据处理平台,它能够将事件驱动的函数部署到Kubernetes集群中,实现毫秒级的冷启动和自动扩缩容。本指南将带你从零开始,全面掌握Nuclio在K8s环境中的部署、配置和运维技能。 【免费下载…

张小明 2026/1/12 9:19:38 网站建设