四、公开的暴露应用程序


创建一个新服务

  1. 查看当前的 PODS 信息
    kubectl get pods

  2. 查看集群中当前的服务
    kubectl get services

  3. 暴露应用程序
    kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

  4. 再次查看集群中当前的服务
    kubectl get services

  5. 查看服务的详细信息
    kubectl describe services/kubernetes-bootcamp

  6. 查看服务暴露出的端口号,并储存在环境变量 NODE_PORT 中
    export NODE_PORT=$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')

  7. 使用节点 ip 与端口号访问服务
    curl $(minikube ip):$NODE_PORT

使用标签

  1. 查看部署详细信息
    kubectl describe deployment

部署在创建完成后,会自动为 POD 创建一个标签

  1. 使用标签查询 POD 列表
    kubectl get pods -l run=kubernetes-bootcamp

  2. 使用标签查看存在的服务
    kubectl get services -l run=kubernetes-bootcamp

  3. 获取 POD 名称,并储存在 POD_NAME 环境变量中
    export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')

  4. 应用新标签
    kubectl label pod $POD_NAME app=v1

使用 label 命令应用新标签,后跟对象类型、对象名称和新标签

  1. 查看 pods 详细信息
    kubectl describe pods $POD_NAME

  2. 使用新标签查询 pods 信息
    kubectl get pods -l app=v1

删除一个服务

  1. 删除服务
    kubectl delete service -l run=kubernetes-bootcamp

  2. 确认服务是否已删除
    kubectl get services

  3. 确认路由是否公开
    curl $(minikube ip):$NODE_PORT

使用 curl 请求之前公开暴露的端口信息,确认路由是否已关闭

  1. 确认应用程序是否仍在运行
    kubectl exec -ti $POD_NAME curl localhost:8080

第三步可以确认从集群外是否已无法访问应用程序,第四步通过 pod 进行 curl 请求,可以确认程序是否仍在运行


文章作者: 牟勇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 牟勇 !
  目录