20 6 月, 2025

Certbot issues free certificates

SSL 免费证书申请 – Certbot

什么是 Certbot?

Certbot 是一个开源的自动化工具,用于获取和续订由 Let’s Encrypt 提供的免费 SSL/TLS 证书。

Let’s Encrypt 是一个由互联网安全研究小组(ISRG)运营的证书颁发机构(CA),它提供了一个自动化的流程来生成和更新证书,使得网站管理员可以轻松地为他们的站点启用 HTTPS 加密。

Certbot 的主要特点包括:

  • 自动化:它可以自动验证域名所有权,并申请证书。
  • 免费:它使用的是 Let’s Encrypt 提供的免费证书。
  • 兼容性:支持多种 web 服务器,如 Apache、Nginx 等。
  • 易用性:提供了命令行界面,使得安装和使用变得简单。
  • 续订:自动处理证书的续订,确保网站的 HTTPS 连接始终保持有效。

Let’s Encrypt 颁发的证书有效期为 90 天,Certbot 会自动配置证书的续期任务,确保证书不会过期。

1)docker部署Cerbot

# 下载镜像
docker pull registry.cn-shenzhen.aliyuncs.com/xielincai/devops:certbot

备注:

这个镜像是自己封装好的certbot工具,里面包含了dns-aliyun,dns-cloudflare2个dns插件,可签发阿里云和cloudflare平台的域名

2)创建certbot容器

docker run -it -d --name  --network host certbot registry.cn-shenzhen.aliyuncs.com/xielincai/devops:certbot

3)签发阿里云证书

certbot certonly  --preferred-challenges dns -d "*.obsbot.com.cn" -d obsbot.com.cn --manual-auth-hook "alidns" --manual-cleanup-hook "alidns clean"

备注:

执行以上命令后,还需填写信息,详细内容可查看,SSL 免费证书申请 – Certbot | 菜鸟教程

Kubernetes 仪表板(Dashboard)

  • 部署DashBoard
  • 浏览器访问
  • 创建token登录系统
  • 使用metrics-server实现主机资源监控

Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment、Job、DaemonSet 等等)。 例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

Dashboard 同时展示了 Kubernetes 集群中的资源状态信息和所有报错信息。

1)部署DashBoard

# 下载配置文件
wget  https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

##默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部
vim recommended.yaml
# master节点执行:
kubectl apply -f recommended.yaml

# 监控仪表盘是否安装完成
watch kubectl get all -o wide -n kubernetes-dashboard

2)浏览器访问

访问方式:https://192.168.110.142:30443

3)创建token登录系统

创建service account并绑定默认cluster-admin管理员集群角色

apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kubernetes-dashboard
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1      
metadata:
  name: dashboard-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kubernetes-dashboard
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io



# 保存上面配置到rbac.yaml

kubectl apply -f rbac.yaml

创建token,复制到浏览器登录

kubectl create token dashboard-admin -n kubernetes-dashboard

4)部署metrics-server实现主机资源监控

去github获取配置文件:Releases · kubernetes-sigs/metrics-server

wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.2/components.yaml
# 修改metrics-server配置

 spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=10250
        - --kubelet-preferred-address-types=InternalIP,InternalDNS,ExternalDNS,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        - --kubelet-insecure-tls  # 添加此行内容
#部署
kubectl apply -f components.yaml
# 验证
kubectl get pods -n kube-system | grep metr