K8S服务部署



项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

英语

一、部署一个简单服务

1.1 Pod和Serivce

1. 部署地图服务

  1. 创建yaml文件
    在这里插入图片描述
  2. 部署pod和service
kubectl apply -f .\first-pod.yaml     
kubectl apply -f .\webapp-service.yaml
  1. 查看当前所有的服务和pod
kubectl get all

在这里插入图片描述
4. 访问服务
在这里插入图片描述

2. Port/TargetPort/NodePort

属性 含义
targetPort: 5000 docker image内 Flask 应用监听在 5000 端口
port: 80 Service 对k8s内部 Pod 显示为 80 端口,其他k8s通过该接口访问呢
nodePort: 30080 外部用户访问 http://NodeIP:30080

1.2 服务秒切换

1. 创建新的pod

  • 创建一个使用release 0-5的container的服务的Pod
    在这里插入图片描述
  • 应用该yaml
kubectl apply -f .\first-pod.yaml     

在这里插入图片描述

  • 查看当前服务的pods和labels
    在这里插入图片描述

2. 切换为新Pod

  • 将服务里的labels.name切换到新的release-0-5的服务
    在这里插入图片描述
  • 重新应用服务后,新的服务上线
kubectl apply -f .\webapp-service.yaml

1.3 添加一个队列服务

1. 添加队列服务的Pod

  1. 创建queque的pod
---
apiVersion: v1
kind: Pod
metadata:
  name: queue
  labels:
    app: queque

spec:
  containers:
    - name: queque
      image: richardchesterwood/k8s-fleetman-queue:release1
  1. 应用pod
kubectl apply -f .\first-pod.yaml

2. 添加队列的service

  1. 创建服务
apiVersion: v1
kind: Service
metadata:
  name: fleetman-queue
spec:
  selector:
    app: queque

  ports:
    - name: http
      port: 8161
      nodePort: 30010

  type: NodePort
  1. 应用服务
kubectl apply -f .\webapp-service.yaml
  1. 查看,可以看到所服务已经上线

在这里插入图片描述

1.4 ReplicaSet

1. 创建

  1. 创建RelicaSet
    在这里插入图片描述
  2. 删除当前所有的pods和服务
kubectl delete all --all
  1. 重新应用新的Pods和服务,pod后会有随机的id
    在这里插入图片描述

2. 删除

  • 我们通过删除pods模拟单个Pod宕机的情况,由于replicaset的缘故,会重新上线新的Pod
kubectl delete pod webapp-xjgdm
  • 如果想删除ReplicaSet
kubectl delete rs webapp

1.4 Deployments

1. 通过Deployment部署

  • 只需要将ReplicaSet改为Deployment就可
apiVersion: apps/v1
kind: Deployment
metadata:
  name: webapp
spec:
  selector:
    matchLabels:
      app: webapp
  replicas: 2
  template:
    metadata:
      labels:
        app: webapp
    spec:
      containers:
        - name: webapp
          image: richardchesterwood/k8s-fleetman-webapp-angular:release0-5
  • 通过Deployment管理pods和ReplicaSet
    在这里插入图片描述

2. rollout

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值