kubernetes-service发布

k8s发布端口

镜像中程序端口为8088

启动后需要映射到公网

====================================================================

vim codeus-abc-deployment.yaml

apiVersion: apps/v1

kind: Deployment

metadata:

  name: codeus-abc-apps

  labels:

    app: codeus-abc

spec:

  selector:

      matchLabels:

        app: codeus-abc

  replicas: 2

  template:

    metadata:

      labels:

        app: codeus-abc

    spec:

      imagePullSecrets:

      - name: registry-key

      containers:

        - name: codeus-abc

          image: xxxxx/codeus-abc/codeus-abc-1.0.52:latest

          ports:

          - containerPort: 8088

================================================================================ 

vim codeus-abc-service.yam

apiVersion: v1

kind: Service

metadata:

  name: codeus-abc

spec:

  type: NodePort

  ports:

  - port: 8888        虚拟端口号

    targetPort: 8088    pod端口号

    nodePort: 38088    node映射端口号

  selector:

    app: codeus-abc

===========================================

启动这两个文件

/opt/kubernetes/bin/kubectl create -f codeus-abc-deployment.yaml

/opt/kubernetes/bin/kubectl create -f codeus-abc-service.yaml

会话保持

目前kubernetes提供了两种负载分发策略:RoundRobin和SessionAffinity

    RoundRobin:轮询模式,即轮询将请求转发到后端的各个Pod上

    SessionAffinity:基于客户端IP地址进行会话保持的模式,第一次客户端访问后端某个Pod,之后的请求都转发到这个Pod上

#cat k8s_codeus/k8s-yaml/codeus-service.yaml

apiVersion: v1

kind: Service

metadata:

  name: c

  namespace: codeus

spec:

  type: NodePort

  sessionAffinity: ClientIP

  sessionAffinityConfig:            客户端第一次访问到后端某个pod后,session将保持3个小时。

    clientIP:

      timeoutSeconds: 10800

  ports:

  - port: 8080

    targetPort: 8080

    nodePort: 38080

  selector:

    app: c

你可能感兴趣的:(kubernetes-service发布)