【微服务部署】01-Kubernetes部署流程

文章目录

    • 部署
      • [1. Kubernetes是什么](#1. Kubernetes是什么)
      • [2. Kubernetes的优势](#2. Kubernetes的优势)
      • [3. 环境搭建](#3. 环境搭建)
      • [4. 应用部署](#4. 应用部署)

部署

1. Kubernetes是什么

  • Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的开源系统

2. Kubernetes的优势

  • 自动化容器部署
  • 资源管理与容器调度
  • 服务注册发现与负载均衡
  • 内置配置与秘钥管理
  • 丰富的社区组件
  • 极强的可扩展性

3. 环境搭建

  • 安装Docker Desktop
  • 安装Kubernetes
  • 安装Helm
  • 部署基础设施

Docker Desktop内置了Kubernetes,勾选并确定即可启用
Helm是在Kubernetes中部署应用的包管理,可以将应用像Nuget包一样打包,然后将部署文件打包成Helm目录,使用Helm命令去部署应用程序,这样可以版本化管理部署脚本
安装Helm之前需要安装Chocolatey,官方安装脚本如下:

复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装Helm,安装脚本

复制代码
//Use Chocolatey on Windows
//注:安装的时候需要保证网络能够访问googleapis这个域名
//本行命令需要需要管理员身份
choco install kubernetes-helm

//Change helm repo
helm repo add stable http://mirror.azure.cn/kubernetes/charts/

//Update charts repo
helm repo update

安装Ingress,dashboard

复制代码
kubectl apply -f mandatory.yaml
kubectl apply -f ingress-port.yaml
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f kubernetes-dashboard-ingress.yaml
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN
"Any key to exit"  ;
Read-Host | Out-Null ;
Exit

安装Prometheus,alertManager和Grafana到集群脚本

复制代码
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
helm repo update
helm upgrade prometheus-operator stable/prometheus-operator --version 8.10.0 --values .\prometheus-operator\values.yaml  --namespace kube-system

4. 应用部署

  • 准备Dockerfile
  • 构建镜像
  • 准备部署
  • 部署应用

应用入口基于Ingress,其内置实际是Nginx,实现了网络复杂均衡并且支持一定的路由策略;

Prometheus是一个持续数据库,作用是收集监控的指标数据;

AlertManager是与Prometheus结合,检测指标是否有异常,当指标异常是负责发起告警

Granfana则是将AlertManager和Prometheus展示出来,最强大的能力就是制作监控看板

注意点

  • 使用Nuget.config配置编译时的私有包仓库
  • 时区设置
相关推荐
掘金码甲哥36 分钟前
🚀糟糕,我实现的k8s informer好像是依托答辩
后端
GoGeekBaird1 小时前
Andrej Karpathy:2025年大模型发展总结
后端·github
uzong1 小时前
听一听技术面试官的心路历程:他们也会有瓶颈,也会表现不如人意
后端
Jimmy1 小时前
年终总结 - 2025 故事集
前端·后端·程序员
没有bug.的程序员1 小时前
单体 → 微服务演进路径:一个真实电商项目的渐进式转型
jvm·微服务·云原生·架构·电商·gc调优
吴佳浩 Alben2 小时前
Python入门指南(四)
开发语言·后端·python
倚栏听风雨2 小时前
lombook java: 找不到符号
后端
码财小子3 小时前
记一次服务器大并发下高延迟问题的定位
后端
我是小妖怪,潇洒又自在3 小时前
springcloud alibaba(九)Nacos Config服务配置
后端·spring·spring cloud