【微服务部署】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配置编译时的私有包仓库
  • 时区设置
相关推荐
yuuki2332331 小时前
【C语言】预处理详解
c语言·windows·后端
合作小小程序员小小店1 小时前
web网页开发,在线%考试,教资,题库%系统demo,基于vue,html,css,python,flask,随机分配,多角色,前后端分离,mysql数据库
前端·vue.js·后端·前端框架·flask
顾漂亮1 小时前
Redis深度探索
java·redis·后端·spring·缓存
努力也学不会java1 小时前
【Spring】Spring事务和事务传播机制
java·开发语言·人工智能·spring boot·后端·spring
小姐姐味道1 小时前
Claude Skills:被过度吹嘘的的概念翻新!
后端·github·claude
新青年5791 小时前
Go语言项目打包上线流程
开发语言·后端·golang
陈随易2 小时前
PaddleOCR-VL可太强了,图片识别转文字的巅峰之作
前端·后端·程序员
Ray662 小时前
Delete vs Truncate vs Drop
后端
oak隔壁找我2 小时前
IntelliJ IDEA 超详细使用教程
后端