K8S之安全机制(角色授权)

2023-05-16

文章目录

  • 一、安全机制
    • (一)、Service Account详解
    • (二)、apiserver使用的是token认证
  • 二、第一模块:认证
    • (一)、https证书认证
    • (二)、httpd的token认证
  • 三、第二模块:授权
  • 四、第三模块:准入控制

一、安全机制

1.kubernetes的安全框架
2.传输安全,认证,授权,准入控制
3.使用RBAC授权

1)kubernetes安全框架

在这里插入图片描述

流程:kubectl先请求api资源,然后是过三关,第一关是认证(Authentication),第二关是授权(Authorization),第三关是准入控制(Admission Control),只有通过这三关才可能会被k8s创建资源。
K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段都支持插件方式,通过API Server配置来启用插件。
普通用户若要安全访问集群API Server,往往需要证书、Token 或者用户名+密码;Pod访问,需要ServiceAccount

第一步:对客户端访问进行认证操作,确认是否具有访问k8s权限
token(共享秘钥)
SSL(双向SSL认证)
通过任何一个认证即表示认证通过,进入下一步
第二步:授权检查,确认是否对资源具有相关的权限
ABAC(基于属性的访问控制)
RBAC(基于角色的访问控制)
NODE(基于节点的访问控制)
WEB HOOK(自定义HTTP回调方法的访问控制)
第三步:准入控制(对操作资源相关联的其他资源是否有权限操作)

(一)、Service Account详解

https://github.com/kubernetes/kubernetes/blob/release-1.0/examples/cassandra/java/src/io/k8s/cassandra/KubernetesSeedProvider.java#L101

Service Account 是 Kubernetes 用于集群内运行的程序,进行服务发现时调用 API 的帐号,帐号的 token 会直接挂载到 Pod 中,可以供程序直接使用。
Service account是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的。它与User account不同
  1.User account是为人设计的,而service account则是为Pod中的进程调用Kubernetes API而设计;
  2.User account是跨namespace的,而service account则是仅局限它所在的namespace;
  3.每个namespace都会自动创建一个default service account
  4.Token controller检测service account的创建,并为它们创建secret
  5.开启ServiceAccount Admission Controller后
1.每个Pod在创建后都会自动设置spec.serviceAccount为default(除非指定了其他ServiceAccout)
    2.验证Pod引用的service account已经存在,否则拒绝创建
    3.如果Pod没有指定ImagePullSecrets,则把service account的ImagePullSecrets加到Pod中
    4.每个container启动后都会挂载该service account的token和ca.crt到/var/run/secrets/kubernetes.io/serviceaccount/

(二)、apiserver使用的是token认证

[root@localhost demo]# ps aux | grep apiserver
...
--token-auth-file=/opt/kubernetes/cfg/token.csv 
...

//可以通过ServiceAccount在pod中去访问apiserver

[root@localhost demo]# kubectl get sa
NAME      SECRETS   AGE
default   1         22d

传输安全:告别8080,迎接6443
//默认8080监听本地(是通过master及其他组件连接使用)

[root@localhost demo]# netstat -natp | grep 8080 | grep LISTEN
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      831/kube-apiserver  

//对外提供服务端口是6443

[root@localhost demo]# netstat -natp | grep 6443 | grep LISTEN
tcp        0      0 192.168.195.149:6443    0.0.0.0:*               LISTEN      831/kube-apiserver  

二、第一模块:认证

三种客户端身份认证:
HTTPS 证书认证:基于CA证书签名的数字证书认证
HTTP Token认证:通过一个Token来识别用户(生产环境中使用广泛)
HTTP Base认证:用户名+密码的方式认证

(一)、https证书认证

[root@localhost demo]# cat /root/k8s/k8s-cert/k8s-cert.sh 
{
    "CN": "kubernetes",
    "hosts": [
      "10.0.0.1",
      "127.0.0.1",
      "192.168.195.148",
      "192.168.195.149",
      "192.168.195.100",
      "192.168.195.140",
      "192.168.195.141",
      "kubernetes",
      "kubernetes.default",
      "kubernetes.default.svc",
      "kubernetes.default.svc.cluster",
      "kubernetes.default.svc.cluster.local"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "BeiJing",
            "ST": "BeiJing",
            "O": "k8s",
            "OU": "System"
        }
    ]
}

(二)、httpd的token认证

[root@localhost demo]# cat /opt/kubernetes/cfg/token.csv 
6351d652249951f79c33acdab329e4c4,kubelet-bootstrap,10001,"system:kubelet-bootstrap"

三、第二模块:授权

RBAC(Role-Based Access Control,基于角色的访问控制):负责完成授权(Authorization)工作。
在这里插入图片描述

四、第三模块:准入控制

Adminssion Control实际上是一个准入控制器插件列表,发送到API Server的请求都需要经过这个列表中的每个准入控制器 插件的检查,检查不通过,则拒绝请求。

[root@localhost demo]# ps aux | grep apiserver
...
--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction
...

NamespaceLifecycle: 命令空间回收
LimitRanger:配额管理
ServiceAccount: 每个pod中导入方便访问apiserver
ResourceQuota: 基于命名空间的高级配额管理
NodeRestriction: Node加入到k8s群集中以最小权限运行
以下是官方推荐插件
1.11版本以上推荐使用的插件:
–enable-admission-plugins= \ NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds, ResourceQuota
//使用RBAC授权
RBAC(Role-Based Access Control,基于角色的访问控制),允许通过Kubernetes API动态配置策略。
在这里插入图片描述

角色
Role:授权特定命名空间的访问权限
ClusterRole:授权所有命名空间的访问权限

角色绑定
RoleBinding:将角色绑定到主体(即subject)
ClusterRoleBinding:将集群角色绑定到主体

主体(subject)
User:用户
Group:用户组
ServiceAccount:服务账号
https://kubernetes.io/docs/reference/access-authn-authz/rbac/

//创建命名空间

[root@localhost demo]# kubectl create ns kgc
namespace/kgc created
[root@localhost demo]# kubectl get ns
NAME          STATUS   AGE
default       Active   22d
kgc           Active   5s
kube-public   Active   22d
kube-system   Active   22d

//创建nginx的pod

[root@localhost demo]# kubectl run nginx --image=nginx -n kgc
kubectl run --generator=deployment/apps.v1beta1 is DEPRECATED and will be removed in a future version. Use kubectl create instead.
deployment.apps/nginx created

//扩容成3个副本

[root@localhost demo]# kubectl scale deploy/nginx --replicas=3 -n kgc
deployment.extensions/nginx scaled

//查看

[root@localhost demo]# kubectl get pods -n kgc
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dbddb74b8-22gp7   1/1     Running   0          109s
nginx-dbddb74b8-pzxz6   1/1     Running   0          33s
nginx-dbddb74b8-vwndx   1/1     Running   0          33s

//官方模板
在这里插入图片描述

//创建role

[root@localhost demo]# vim rbac-role.yaml 
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: kgc
  name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["pods"]
  verbs: ["get", "watch", "list"]

[root@localhost demo]# kubectl apply -f rbac-role.yaml 
role.rbac.authorization.k8s.io/pod-reader created
[root@localhost demo]# kubectl get role -n kgc
NAME         AGE
pod-reader   48s

//创建rolebinding
在这里插入图片描述

[root@localhost demo]# vim rbac-rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: kgc
subjects:
- kind: User
  name: zhangsan
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role   
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

[root@localhost demo]# kubectl apply -f rbac-rolebinding.yaml 
rolebinding.rbac.authorization.k8s.io/read-pods created
[root@localhost demo]# kubectl get role,rolebinding -n kgc
NAME                                        AGE
role.rbac.authorization.k8s.io/pod-reader   9m22s

NAME                                              AGE
rolebinding.rbac.authorization.k8s.io/read-pods   39s

//拷贝rbac.yaml和rbac-user.sh文件到/root/demo中

[root@localhost demo]# mkdir zhangsan
[root@localhost demo]# mv rbac-user.sh zhangsan/

//证书拷贝到zhangsan目录

[root@localhost zhangsan]# cp /root/k8s/k8s-cert/ca* ./

//修改地址为apiserver访问地址(负载均衡VIP)

[root@localhost zhangsan]# vim rbac-user.sh 
kubectl config set-cluster kubernetes \
  --certificate-authority=ca.pem \
  --embed-certs=true \
  --server=https://192.168.195.100:6443 \
  --kubeconfig=zhangsan-kubeconfig

//安装格式化工具

[root@localhost zhangsan]# yum install dos2unix -y

//格式化

[root@localhost zhangsan]# dos2unix rbac-user.sh 
dos2unix: converting file rbac-user.sh to Unix format ...
[root@localhost zhangsan]# bash rbac-user.sh 
2020/02/21 13:08:40 [INFO] generate received request
2020/02/21 13:08:40 [INFO] received CSR
2020/02/21 13:08:40 [INFO] generating key: rsa-2048
2020/02/21 13:08:41 [INFO] encoded CSR
2020/02/21 13:08:41 [INFO] signed certificate with serial number 165410289803504337012351191503921866329251297724
2020/02/21 13:08:41 [WARNING] This certificate lacks a "hosts" field. This makes it unsuitable for
websites. For more information see the Baseline Requirements for the Issuance and Management
of Publicly-Trusted Certificates, v.1.1.6, from the CA/Browser Forum (https://cabforum.org);
specifically, section 10.2.3 ("Information Requirements").
Cluster "kubernetes" set.
User "zhangsan" set.
Context "default" created.
Switched to context "default".

//查看证书

[root@localhost zhangsan]# cat zhangsan-kubeconfig 

//使用zhangsan-kubeconfig访问pod资源

[root@localhost zhangsan]# kubectl --kubeconfig=zhangsan-kubeconfig get pods -n kgc
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dbddb74b8-22gp7   1/1     Running   0          23h
nginx-dbddb74b8-pzxz6   1/1     Running   0          23h
nginx-dbddb74b8-vwndx   1/1     Running   0          23h

//使用zhangsan-kubeconfig访问 svc资源就会被拒绝

[root@localhost zhangsan]# kubectl --kubeconfig=zhangsan-kubeconfig get svc -n kgc
Error from server (Forbidden): services is forbidden: User "zhangsan" cannot list resource "services" in API group "" in the namespace "kgc"

//也无法访问默认的命名空间

[root@localhost zhangsan]# kubectl --kubeconfig=zhangsan-kubeconfig get svc 
Error from server (Forbidden): services is forbidden: User "zhangsan" cannot list resource "services" in API group "" in the namespace "default"

//UI访问控制

[root@localhost zhangsan]# kubectl get svc -n kube-system
NAME                   TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns               ClusterIP   10.0.0.2     <none>        53/UDP,53/TCP   4d13h
kubernetes-dashboard   NodePort    10.0.0.243   <none>        443:30001/TCP   15d

//访问地址https://192.168.195.150:30001/
//查看令牌

[root@localhost zhangsan]# kubectl describe secret dashboard-admin-token-qctfr -n kube-system

[root@localhost zhangsan]# vim sa.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: pod-reader
  namespace: kgc

---

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: sa-read-pods
  namespace: kgc
subjects:
- kind: ServiceAccount
  name: pod-reader
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

[root@localhost zhangsan]# kubectl apply -f sa.yaml 
serviceaccount/pod-reader created
rolebinding.rbac.authorization.k8s.io/sa-read-pods created
[root@localhost zhangsan]# kubectl get sa -n kgc
NAME         SECRETS   AGE
default      1         24h
pod-reader   1         38s

//查看token

[root@localhost zhangsan]# kubectl describe secret pod-reader -n kgc
Name:         pod-reader-token-2cpjb
Namespace:    kgc
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: pod-reader
              kubernetes.io/service-account.uid: f4b4c256-546a-11ea-895a-000c297a15fb

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1359 bytes
namespace:  3 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrZ2MiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoicG9kLXJlYWRlci10b2tlbi0yY3BqYiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJwb2QtcmVhZGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiZjRiNGMyNTYtNTQ2YS0xMWVhLTg5NWEtMDAwYzI5N2ExNWZiIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmtnYzpwb2QtcmVhZGVyIn0.uRNQcjjk7mhW86H3tziJgeEmLkA2H_NL45LZ8VV5JFfUQOluVLR_CrpiHMn97Afla2P9rBkbldEF9nNGt0WnFMPV3AMK0L_UzydVm97eIn_0t_6np8XI5luvmtt8Xavs3-jpkeXdtoSlbGQNNrerndmAh5tvzfJGJkI8-upV_NMVqw8mT27a9G038Qtqk7CEEIyoHbo05cILx_O5Nr9jnZUl3HTdTjuJOr3O0yAcfpnoZSTMUcotuy8FNaadLOCcn2VxY9f9MTMMtFdFsDWDhl6w5CMBGSSg6vFVwbJrr5nn1Z83MyYuQJhId_724J4axHnz__1sLjarSmJxDbDxLw

//登录成功界面
在这里插入图片描述

//只有权限看到容器

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

K8S之安全机制(角色授权) 的相关文章

  • [云原生专题-22]:K8S - 集群编排工具K8S与SWARM比较与技术选择

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122750196 目录 前言 第1章
  • DHorse系列文章之操作手册

    在介绍DHorse的操作之前 我们先来看一下发布一个系统的流程是什么样的 发布系统的流程 我们以一个Springboot系统为例 来说明一下发布流程 1 首先从代码仓库下载代码 比如Gitlab 2 接着是进行打包 比如使用Maven 3
  • kubeadm常用

    kubeadm常用 配置kubeadm自动补全 初始化一个master节点 导出kubeadm默认配置文件 将node节点加入集群 生成node配置 升级k8s版本 kubeadm升级node 维护或下线node节点 管理kubeadm j
  • 基于hostpath的k8s pod日志持久化

    基于hostpath的k8s pod日志持久化 前置条件 step1 修改服务的yaml文件 step2 推送日志到minio版保存 step3 优化 附加 简单了解 前置条件 考虑到pod的多副本 但同时需要将日志集中收集起来 所以采用h
  • underlay和overlay? & 传统网络和数据中心网络 ?

    underlay和overlay 百度 Underlay 和 Overlay 是网络架构中两个常用的概念 用于描述不同层次或视角下的网络结构和通信方式 1 Underlay 底层网络 Underlay 是指基础网络层 即物理网络或基础网络架
  • 从Docker到Kubernetes——Kubernetes设计解读之Pod

    文章目录 Kubernetes是个什么样的项目 Kubernetes的设计解读 典型案例 GuestBook pod设计解读 pod使用实例 pod内容器网络与通信 Kubernetes是个什么样的项目 简单的说 k8s是一个管理跨主机容器
  • Liveness、Readiness 和 Startup Probes

    liveness apiVersion v1 kind Pod metadata labels test liveness name liveness exec spec containers name liveness image k8s
  • k8s系列——部署k8s集群

    1 环境准备 1 1 安装操作系统 此处选用centos 7 操作系统进行安装操作 1 2 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 1 3 关闭selinux s
  • minikube单机安装nfs服务

    1 安装 nfs server sudo apt get update sudo apt get install y nfs kernel server 2 创建目录 配置 IP 共享目录绑定 vim etc exports 新增 data
  • docker的联合文件系统(UnionFS)

    docker最大的贡献就是定义了容器镜像的分层的存储格式 docker镜像技术的基础是联合文件系统 UnionFS 其文件系统是分层的 这样既可以充分利用共享层 又可以减少存储空间占用 联合挂载系统的工作原理 读 如果文件在upperdir
  • 初学容器:Docker

    1 环境初始化 1 1 安装git vim curl等常用工具 sudo apt update sudo apt install y git vim curl jq 1 2 ubuntu是不支持远程连接的 需要安装ssh服务 sudo ap
  • CentOS 7 下 minikube 部署 && 配置

    CentOS 7 下 minikube 部署 配置 文章目录 CentOS 7 下 minikube 部署 配置 下载 安装 下载安装脚本 安装 minikube 启动 minikube 环境 安装 kubectl 工具 启动 miniku
  • kubernetes最佳实践(三) - kubedns部署

    1 服务发现 kubernetes 提供了 service 的概念可以通过 VIP 访问 pod 提供的服务 但是在使用的时候还有一个问题 怎么知道某个应用的 VIP 比如我们有两个应用 一个 app 一个 是 db 每个应用使用 rc 进
  • 如何解决K8S节点显示NotReady

    文章目录 kubernetes节点断电重启 kubernetes节点断电重启 背景 运行的好好的k8s集群 某天断电 发现一个节点炸了 显示NotReady kubectl get nodes 那么如何查找问题呢 我们用它 journalc
  • kubeadm配置虚拟机k8s集群

    环境 centos7 vm pro windows terminal termius 虚拟机 硬件配置 2核2G 实验用 具体可根据电脑调整 配置3台 master01 node01 node02 通过克隆虚拟机直接复制 配置通一项以后建议
  • k8s基础5——Pod常用命令、资源共享机制、重启策略和健康检查、环境变量、初始化容器、静态pod

    文章目录 一 基本了解 二 管理命令 三 yaml文件参数大全 四 创建pod的工作流程 五 资源共享机制 5 1 共享网络 5 2 共享存储 六 生命周期 重启策略 健康检查 七 环境变量 八 Init Containe初始化容器 九 静
  • 决战k8s,Kubernetes、Master节点部署组件,部署kube-proxy、测试、部署Dashboard(Web UI)、超细详解 ,安装篇③完结篇

    文章目录 下面这些操作在master节点完成 创建kubeconfig文件 创建kube proxy kubeconfig文件 下面这些操作在node节点完成 俩个节点上面拉取镜像 systemd管理kubelet组件 部署kube pro
  • K8S暴露端口-dubbo应用远程Debug

    1 Dockerfile增加环境变量 ENV JAVA OPTS Xdebug Xrunjdwp transport dt socket address 9901 server y suspend n 2 暴露端口 template ser
  • kubeadm 安装k8s

    关于k8s集群化部署 以下均是个人一步一步的完成部署 并且会罗列出在部署过程中遇到的各种问题及其解决方式 一 环境准备 环境准备阶段试用与master节点部署与work节点部署 即master和work节点全部都需要执行这些步骤 1 关闭防
  • k8s部署Prometheus抓取pods的metrics

    1 暴露pods给Prometheus抓取 spec replicas app replicas template metadata annotations prometheus io scrape true prometheus io p

随机推荐

  • C#调用FluentFTP将文件批量上传到ftp服务器

    上篇文章介绍了在Windows Server 2008上搭建FTP服务 xff0c 本文测试使用C 调用FluentFTP将文件批量上传到ftp服务器 FluentFTP是由C 开发的开源FTP和FTPS库 xff0c 其开源地址见参考文献
  • RouterOS 通过NTH/PCC设置多线负载均衡及带宽叠加

    关于NTH的相关原理 xff0c 请大家移步RouterOS Nth与Passthrough 务必要多看几遍 xff0c 彻底把原理看明白了 xff0c 然后再上机实验就能收到事半功倍的效果 如果大家原理不明白 xff0c 仅靠看别人的文档
  • Windows及Ubuntu下安装PyCharm

    之前编写Python程序 xff0c 在Windows下面主要使用的记事本或者Python自带的IDLE工具 xff0c Ubuntu下主要是在VSCode中编写 xff0c 编写或调试程序都比较麻烦 xff0c 百度了一下 xff0c 目
  • android app 设置以太网静态Ip

    写文目的 公司是做工控和楼宇智能方面产品 xff0c 使用的设备有rk和全志平台 xff0c 运行的是android操作系统 xff0c 部分场景需要设置有线网络的静态Ip 所以针对这一需求做了如下工作 xff0c 并以此文作为总结 遇到的
  • python神经网络案例——CNN卷积神经网络实现mnist手写体识别

    转自 xff1a https blog csdn net luanpeng825485697 article details 79088938 全栈工程师开发手册 xff08 作者 xff1a 栾鹏 xff09 python教程全解 CNN
  • Java删除字符串中的指定字符

    Java删除字符串中的指定字符有以下两种方法 xff1a 1 替换函数 xff0c 替换成空白 String test 61 chaojimali test 61 test replace chaoji 2 截取函数 xff0c 删除字符
  • Spring MVC 异常,怎样显示比较友好?

    本文基于Spring MVC 注解 xff0c 让Spring跑起来 实施过程中完全没有任何异常 xff0c 测试过程中也没出错 xff0c 偏偏在客户试用过程中报错了 报错了 xff0c 怎样给客户友好界面 xff1f 两个方法 xff1
  • Android进程的内存管理分析

    尊重原创作者 xff0c 转载请注明出处 xff1a http blog csdn net gemmem article details 8920039 最近在网上看了不少Android内存管理方面的博文 xff0c 但是文章大多都是就单个
  • 简单了解5G

    什么是5G 一 5G的特点 xff1a 二 5G的8个关键技术指标 xff08 与4G作对比 xff09 三 5G的几个关键技术 一 动态自组织网络 xff08 SON xff09 xff08 二 xff09 软件定义网络 xff08 SD
  • MSTP、LACP、VRRP、DHCP、NAT综合实验技术文档

    MSTP LACP VRRP DHCP NAT综合实验技术文档 要求 xff1a 要求按照拓扑图配置MSTP VRRP DHCP NAT等相关命令使得图中所有终端能够网络互通 1 MSTP 43 链路聚合 正常情况下各VLAN流量路径要求如
  • 解决共享文件时出现 “mount error(13): Permission denied” 错误

    当在Windows 系统和 Linux 系统之间共享文件时出现如下的错误 xff1a root 64 localhost mount cifs 192 168 226 1 kugou data Password for root 64 19
  • shell 脚本汇总 (持续更新中)

    文章目录 1 计算从1到100所有整数的和2 提示用户输入一个小于100的整数 xff0c 并计算从1到该数之间所有整数的和3 求从1到100所有整数的偶数和 奇数和4 写个逛淘宝选购商品脚本 xff0c 每家商店有五种商品选购 xff08
  • RouterOS 重置密码

    如果RouterOS的密码忘记了 xff0c 大家不必惊慌 xff0c 本文就以Routeros 6 48 6为例给大家讲解一下X86平台下RouterOS的密码重置 xff0c 其实X86平台下各版本的重置步骤大致相同 都是找到user
  • Nginx+Tomcat 实现负载均衡、动静分离群集配置

    文章目录 一 Nginx 负载均衡实现原理二 Nginx 动静分离实现原理三 Nginx 43 Tomcat 动静分离 负载均衡配置步骤1 部署 Nginx 负载均衡服务器2 部署两台 Tomcat 应用服务器3 动静分离配置 一 Ngin
  • MySQL主从复制与读写分离报错与解决方案

    文章目录 报错一 xff1a java 的3306端口找不到报错二 xff1a 端口次数出现太多报错三 xff1a 在客户机中远程连接 amoeba服务器 代理访问mysql 时 xff0c 连接不上amoeba 当我在部署MySQL主从复
  • 超实用的ELK日志分析系统

    文章目录 前言 xff1a 一 ELK日志分析系统简介 xff08 一 xff09 日志服务器 xff08 二 xff09 ELK日志分析系统补充 xff1a xff08 三 xff09 日志处理步骤 xff08 四 xff09 Elast
  • 实用!!Openstack一键部署步骤

    文章目录 一 环境需求二 环境配置1 配置静态地址 主机名2 关闭 xff08 设置开机不启动 xff09 防火墙 核心防护 NetworkManager3 安装时间同步服务 同步阿里云时钟服务器 xff08 ntp1 ntp2 设置周期性
  • 自动化运维 ansible角色管理

    文章目录 一 Templates模块1 获取模板2 定义变量3 传入变量4 编写剧本 二 tags 模块1 编写tags标签剧本2 编写always标签剧本 三 role模块 xff08 一 xff09 roles内各目录含义解释 xff1
  • K8S之配置管理

    文章目录 一 Secret方式一 xff1a 方式二 xff1a 第一种 xff1a 使用secret中的变量导入到pod中第二种 xff1a 以volume的形式挂载到pod的某个目录下 二 ConfigMap创建方式一 xff1a ku
  • K8S之安全机制(角色授权)

    文章目录 一 安全机制 xff08 一 xff09 Service Account详解 xff08 二 xff09 apiserver使用的是token认证 二 第一模块 xff1a 认证 xff08 一 xff09 https证书认证 x