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服务的主要内容,如果未能解决你的问题,请参考以下文章