Kubernetes 添加 Windows 节点
· ☕ 4 分钟
这里主要使用 Windows 节点作为 Worker,而 Master 控制平面依然在 Linux 。 1. 系统配置 1.1 Kubernetes 控制平面 Kubernetes 自 1.14 版本,增加了对 Windows 节点生产级的支持。由于微软官方文档主要提供的是 flannel 网络插件的安装方式,这里建议 Kubernetes 也采用 flannel 插件。 查看当前集群 Kubernetes 版本 1 2 3 4 kubectl version Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.6", GitCommit:"d32e40e20d167e103faf894261614c5b45c44198", GitTreeState:"clean", BuildDate:"2020-05-20T13:16:24Z",

使用 Base64 解码 JWT Playload 数据不完整
· ☕ 2 分钟
在对 JWT 进行 Base64 解码时,发现 JSON 数据不完整。本文主要介绍相关知识点并解决这个问题。 1. JWT 简介 JWT 通过在 Header 中设置 Authorization: Bearer <token> 进行认证的传递。 JWT Token 是一个 . 连接的 Base64 编码字符串,类似这样 Header.Payload.Signature ,有三部分组成: Header ,定义 Token 类型和加密算法 1 2 3 4 { "alg": "HS256", "typ": "JWT" } Payload ,负载信息,通

Kubernetes 批量操作命令
· ☕ 1 分钟
1. 批量删除 Evicted 状态的 Pod 1 kubectl get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs -L1 kubectl delete pod -n 2. 批量删除指定空间指定状态的 Pod 根据 field-selectors ,可以删除指定空间指定状态的 Pod 。 1 kubectl get pods --field-selector=status.phase!=Running -n default | cut -d' ' -f 1 | xargs kubectl delete pod -n default

为什么要使用远端构建
· ☕ 2 分钟
1. 提高自动化水平 远端构建通常需要借助一定的 CI 工具,比如 Github Actions 、Travis CI 等。如果是内网环境,可以借助 GitLab CI ,添加一个 CI 节点进行自动化构建,可以参考 我的 GitLab 文档 。 自动化的好处不言而喻,能规范流程、节约大量时间,具有明显的收益。 2. 有利于其他人参与

Kubernetes 调度器之亲和性
· ☕ 3 分钟
1. Kubernetes 中的调度器 kube-scheduler 是 Kubernetes 中决定 Pending 状态的 Pod 运行在哪个 Node 的组件,被称之为调度器。 Kubernetes 中内置了大量的调度策略,也提供了一些高级调度策略(nodeAffinity、podAffinity 等),以供用户使用,基本能够满足绝大部分的业务需求。 前面的文档 Kubernetes 之 L