安全
如何给 Kubernetes 服务添加 Basic 认证访问
· ☕ 1 分钟
1. 部署 Ingress Controller 查看 Kubernetes 版本 1 2 3 4 kubectl version --short Client Version: v1.21.4 Server Version: v1.21.4 查找兼容的 Nginx Ingress 版本 Helm Chart version Helm Chart 最高可用版本 K8s 适配版本 3.x.x 3.36.0 1.16+ 4.x.x 4.4.2 1.19+ 参考: https://github.com/kubernetes/ingress-nginx 安装 Nginx Ingress Controller 1 2 3 helm upgrade --install ingress-nginx ingress-nginx \ --repo https://kubernetes.github.io/ingress-nginx \ --namespace ingress-nginx --create-namespace --version v4.4.2 查看服务 1 2 3 4 5 6 7 8 9 10 11 12 kubectl -n ingress-nginx get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.233.11.232 <pending> 80:30914/TCP,443:31493/TCP 14m ingress-nginx-controller-admission ClusterIP 10.233.56.67 <none> 443/TCP 14m kae@node1:~$

如何设置端口仅对指定 IP 开放访问
· ☕ 1 分钟
1. 主机服务端口 1 2 iptables -I INPUT -p tcp --dport 80 -j DROP iptables -I INPUT -p tcp -s 1.2.3.4 --dport 80 -j ACCEPT 这里仅允许 1.2.3.4 访问本地主机的 80 端口。 2. Docker 服务端口 对于类似 docker run -d -p 80:80 shaowenchen/demo:whoami 运行的服务,上面的方法无效,需要在 DOCKER-USER 链中添加规则。 Docker 会将 iptables 规则添加到 DOCKER 链中,如果需要在 Docker 之前添加规则需要添加到 DOCKER-USER 链中

如何快速接入统一的认证鉴权体系
· ☕ 5 分钟
1. 异构系统带来的认证鉴权问题 企业系统,可以分为以下几种类型: 购买的商业软件,比如 JumpServer 开源的软件,比如 Kibana、Grafana 自主研发的软件,比如应用管理平台 这里需要说明的是,认证和鉴权是两个功能: 认证,证明你是你 鉴权,你是管理员,而不是普

如何劫持 docker.io 的镜像流量到私有仓库
· ☕ 3 分钟
1. 自签 *.docker.io 域名证书 1.1 创建 CA 证书 生成 CA 证书私钥 1 openssl genrsa -out ca.key 4096 生成 CA 证书 1 2 3 4 openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=chenshaowen.com" \ -key ca.key \ -out ca.crt 1.2 创建 *.docker.io 域名证书 生成私钥 1 openssl genrsa -out docker.io.key 4096 生成证书签名请求 CSR 1 2 3 4 openssl req -sha512 -new \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=*.docker.io" \ -key docker.io.key \ -out docker.io.csr 生成 x509 v3 扩展 1 2 3 4 5 6 7 8 9 10 11 cat > v3.ext <<-EOF authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE

如何更新 Kubernetes 证书
· ☕ 1 分钟
在默认情况下,Kubernetes 的证书每隔一年需要 renew 一次,下面是记录的一次证书更新过程。 1. 查看证书 在 Master 节点上查看证书过期时间: 1 kubeadm certs check-expiration 低版本的集群下,执行命令会报错,可以执行命令: kubeadm alpha certs check-expiration 2. 备份相关文件 这里可以直接备份整个 Kubernetes 配置文件 1 cp -r