7. cka题目-Service NodePort

344 阅读1分钟

题目描述

  • 设置配置环境 kubectl config use-context k8s
  • 请重新配置现有的 Deployment front-end 以及添加名为 http 的端口规范来公开现有容器 nginx 的端 口 80/tcp。
  • 创建一个名为 front-end-svc 的新服务,以公开容器端口 http。 配置此服务,通过在排定的节点上的 NodePort 来公开各个 pods。

根据题目完成预置条件

  • front-end Deployment配置文件
cat > /cka/deployment.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: front-end
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - name: http
          containerPort: 80
          protocol: TCP
EOF
  • 创建 front-end Deployment
kubectl apply -f /cka/deployment.yaml

解析

  • 编辑Deployment front-end,更新 ports 信息如下红色圈出部分
kubectl edit deployment front-end

image.png

  • 创建一个名为 front-end-svc 服务
kubectl expose deployment front-end --port=80 --target-port=80 --name=front-end-svc --type=NodePort

参考

kubectl expose -h

image.png

image.png