K8S之创建deployment关联NodePort服务

Posted supery007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8S之创建deployment关联NodePort服务相关的知识,希望对你有一定的参考价值。

一、K8s编排yaml文件

1.1 如何通过Yaml文件创建deployment自动关联NodePort服务呢?

a. 命令行方式关联

参考资料:K8S拉取Django项目创建pod

文章中通过命令行方式关联,还需要手动修改svc参数

b. yaml文件编排方式

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: iam
  name: iam
  namespace: iam
spec:
  replicas: 3
  selector:
    matchLabels:
      app: iam
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: iam
    spec:
      containers:
      - image: registry.xxx.com/xxx/iam:1260cd6
        name: iam
        imagePullPolicy: Always
        resources: {}
        ports:
        - containerPort: 9991
          name: iamsvc
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: iam
  name: iamsvc
  namespace: iam
spec:
  ports:
  - port: 30333
    nodePort: 30333
    protocol: TCP
    targetPort: 9991
  selector:
    app: iam
  type: NodePort

参数说明:

kind: Deployment

  • - containerPort:容器内的服务端口
  • name: iamsvc   svc服务的名字
# kubectl get svc -n iam
NAME     TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)           AGE
iamsvc   NodePort   10.10.7.99   <none>        30333:30333/TCP   9m15s
# 

kind: Service

  • - port: 30333          容器暴露的端口(理解可能不对)
  • nodePort: 30333     节点服务器上暴露的端口
  • targetPort: 9991     目标容器服务的端口

 c. 创建deployment并关联svc

 # kubectl apply -f iam.deployment.yaml 

 

 

 

以上是关于K8S之创建deployment关联NodePort服务的主要内容,如果未能解决你的问题,请参考以下文章

K8s--Deployment--service--回滚的用法

k8s 资源管理之 deployment

K8S实践Ⅱ(K8S之Pod)

k8s 资源管理之 deployment

K8S 之 Deployment声明式地升级应用

K8S 之 Deployment声明式地升级应用