kubernetes-发布netcore项目

发布时间 2023-08-07 15:18:54作者: vba是最好的语言

一,安装k8s环境

  参考:https://www.yuque.com/fairy-era/yg511q/lmy7gc

二,通过Dockerfile文件将本地项目打包成镜像。发送到本地仓库或者阿里云(https://promotion.aliyun.com/ntms/act/kubernetes.html),方便在node机器上拉取镜像,不然每个node机器

都要重新制作镜像。

三,在k8s的master机器上,制作deployment,rs,pod,service(容器外可以访问必须的)。yaml文件参考,如下

apiVersion: apps/v1 # 必须字段
kind: Deployment # 必须字段
metadata: # 必须字段
  name: ybapi-deployment # 部署的 deployment 的名称
  namespace: dev # 名称空间
  labels: # 标签
    app: ybapi-deployment
spec: # 规格,期望状态,必须字段
ReplicaSet: 2 # pod数量 selector: # 选择器,用来帮助 Deployment 来筛选 Pod,必须字段 matchLabels: # 匹配标签 app: ybapi # 通常而言,和 template 中的 metadata.labels 保持一致 template: # Pod 的模板,必须字段 metadata: # Pod 的 metadata(元数据) name: ybapi labels: app: ybapi spec: containers:
- name: ybapi image: ybapi:1.0 imagePullPolicy: IfNotPresent restartPolicy: Always --- apiVersion: v1 kind: Service metadata: name: ybapi-svc namespace: dev # 名称空间 spec: selector: app: ybapi type: NodePort ports: - port: 5194 # svc 的访问端口 name: canary-ybapi targetPort: 5194 # Pod 的访问端口 protocol: TCP nodePort: 31094 # 在机器上开端口,浏览器访问

执行 kubectl apply -f xxx.yaml。即可,挺方便的。ReplicaSet 是管理和控制pod运行的。

关于k8s负载均衡的实现,也是依靠其他工具,如nginx。