获取Kubernetes的token
获取admin的token如果有这个secret, 可以直接查看token
1kubectl -n kube-system get secret admin-token-nwphb -o jsonpath={.data.token} | base64 -d
新版k8s命令为选择一个现有的serviceaccount
1kubectl get serviceaccount
使用这个serviceaccount创建一个token(并设置有效期)
1kubectl create token default --duration 10m
新建一个用户获取token如果考虑到权限没有合适的,或者没有相关的secret,可以通过创建一个新的用户来获取token, 未完待续
阿里云ACK中Nginx ingress使用CLB上的Https证书
背景: 我们在客户那里部署了一套服务, 服务运行在客户提供的ACK集群, 我们删除了客户ACK自带的nginx ingress, 通过自建的方式部署了两套ingress, 一套绑定了公网CLB, 一套绑定了内网CLB, 也就是说是CLB转发到ingress, 然后通过ingress转发到其他服务. 现在需要配置Https证书, 客户不同意我们配置证书到ingress, 客户将证书放在了CLB上, 给了一个证书ID
查询阿里云文档阿里云的文档还是很详细, 通过google查询到文档地址: 通过Annotation配置传统型负载均衡CLB
具体可以查看这里
HTTPS请求会在CLB层解密,然后以HTTP请求的形式发送给后端的Pod。
配置LoadBalancer类型的Service因为我们的CLB是只给ingress使用, 所以修改ingress的Service配置yaml:
12345678910111213141516171819202122232425262728293031323334353637383940apiVersion: v1kind: Servicemetadata: ...
Django RestFramework 自定义显示字段
有的时候序列化出来的字段并不是我们想要的, 比如说返回的用户id,而我们想要返回的是用户名, 这个时候可以用到django rest framework的自定义字段功能。
先看一下原始数据1234567891011121314[ { "id": 1, "name": "1", "desc": "sdg", "user": 1 }, { "id": 5, "name": "1", "desc": "sdg", "user": 2 }]
这里user显示的是id, 并不是我们想要的username
增加一个字段, 显示usernamemodels:12345678from djan ...
curl常用操作记录
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。
参考文章: https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
参数-A-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]。
12345# 将User-Agent改成 Chrome 浏览器curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com# 移除User-Agentcurl -A '' https://google.com
也可以通过-H(更改Header ...
检查域名支持的HTTPS协议版本
在线验证随便找了两个网站:
https://www.ssleye.com/ssltool/cipher_suites.html
https://www.site24x7.com/zhcn/tools/tls-checker.html
使用CURL验证12curl --tlsv1 --tls-max 1.0 https://github.comcurl --tlsv1 --tls-max 1.0 https://www.baidu.com
报错说明不支持当前版本:
1curl: (35) LibreSSL/3.3.6: error:1404B42E:SSL routines:ST_CONNECT:tlsv1 alert protocol version
使用OpenSSL12345678# 验证TLS1.2openssl s_client -connect www.baidu.com:443 -tls1_2# 验证TLS1.1openssl s_client -connect www.baidu.com:443 -tls1_1# 验证TLS1.0openssl s_client ...
k8s部署单节点mongodb
根据yaml文件修改
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172apiVersion: v1kind: ConfigMapmetadata: name: mongo-config namespace: publicdata: mongodb.conf: |- dbpath=/data/mongodb #logpath=/data/mongodb/mongodb.log pidfilepath=/data/mongodb/master.pid directoryperdb=true logappend=true bind_ip=0.0.0.0 port=27017---apiVersion: apps/v1kind: StatefulSetmetadata: name: mongodb namespace: pu ...
ES开启安全认证
elasticsearch开启安全认证步骤
1.创建证书
12345进入到es主目录下执行./bin/elasticsearch-certutil ca Elasticsearch开启安全认证详细步骤第一个证书名称默认,直接回车第二个输入密码,直接回车完成后会生成一个文件:elastic-stack-ca.p12
2.根据生成的证书创建秘钥
12./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12同样的步骤,一直回车下去会生成elastic-certificates.p12秘钥文件
3.开启认证
12345678910111213141516171819202122依次把elastic-certificates.p12文件复制到各个节点的config目录下并授权chown -R elastic:elastic elastic-certificates.p12vim elasticsearch.ymlcluster.name: test-esnode.name: node-1 #每个节点名称不同network.host: ...
ES之x-pack-core-7.14.2破解
ES之x-pack-core-7.14.2破解X-Pack是什么1X-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,虽然x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能。
破解步骤1234567主要分一下步骤1、修改x-pack-core-7.14.2.jar拷贝ES目录下 ./modules/x-pack-core/x-pack-core-7.14.2.jar 文件并解压解压之后找到一下两个文件x-pack-core-7.14.2.jar/org/elasticsearch/license/LicenseVerifier.classx-pack-core-7.14.2.jar/org/elasticsearch/xpack/core/XPackBuild.class用以下两个java文件重新编译之后替换
LicenseVerifier.java
12345678910111213141516171819202122package org.elasticsearch.license;/** * ...
查看Navicat保存的密码
Navicat密码一旦保存, 再次编辑就没法查看密码是什么了, 包括之前可以使用的星号密码查看器也看不到密码, 我们可以通过导出链接文件, 然后通过解密被加密的密码来获取密码原文.
导出加密密码打开Navicat – 文件 – 导出连接
接下来的弹窗里, 勾选导出密码, 然后导出成ncx文件
用文本编辑器打开 connections.ncx 文件, 复制 password 的值, 这个就是加密后的密码.
使用PHP解密电脑没有PHP环境, 所以选择使用Docker来运行PHP, 操作如下:
准备解密脚本vim decode_navicat_password.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 ...
NFS
方式123456789101112# pv的访问模式:accessModesRWO - readWriteOnceROX - readOnlyManyRWX - readWriteMany# pod申请pvc参考 test-pvc-pod.yml# statefulset 申请pv pvc 参考 test-nginx-statefulset.yaml可动态为kubernetes提供pv卷,是Kubernetes的简易NFS的外部provisioner,本身不提供NFS,需要现有的NFS服务器提供存储。持久卷目录的命名规则为: ${namespace}-${pvcName}-${pvName}。使用参考 目录内 test-nginx-statefulset.yaml test-pvc-pod.yml 文件
nfs-provisioner-deploy.yaml12345678910111213141516171819202122232425262728293031323334353637383940apiVersion: a ...