【微服务部署】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配置编译时的私有包仓库
  • 时区设置
相关推荐
武子康1 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
brzhang4 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
wan_da_ren6 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
【本人】6 小时前
Django基础(一)———创建与启动
后端·python·django
lifallen6 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
你的人类朋友7 小时前
【✈️速通】什么是SIT,什么是UAT?
后端·单元测试·测试
程序无bug9 小时前
后端3行代码写出8个接口!
java·后端
绝无仅有9 小时前
使用LNMP一键安装包安装PHP、Nginx、Redis、Swoole、OPcache
后端·面试·github
他日若遂凌云志9 小时前
C++ 与 Lua 交互全链路解析:基于Lua5.4.8的源码剖析
后端