续:K8S部署个测试应用

可以自己docker也尝试打包image

# docker搜索个可用的java-demo镜像
docker search java-demo
# 拉取了一个 yueming33990/java-demo
docker pull yueming33990/java-demo

# k8s使用镜像
# --dry-run测试不在k8s运行
# -o yaml 生成yaml格式
 kubectl create deployment java-demo --image=yueming33990/java-demo --dry-run -o yaml
#输出重定向到deploy.yaml
kubectl create deployment java-demo --image=yueming33990/java-demo --dry-run -o yaml > deploy.yaml
vim deploy.yaml 配置了三个副本

#运行
kubectl apply -f deploy.yaml
#查看
kubectl get pods
#查看pod日志
kubctl logs [podname]

# 暴漏应用
# 创建一个service
# java-demo指定名称
#  --port指定集群内部访问的端口
#  --target-port指定容器内跑服务的端口
#  --type=NodePort 指定类型 集群外部访问
kubectl expose deployment java-demo --port=80 --target-port=8080 --type=NodePort -o yaml --dry-run
#重定向到文件
kubectl expose deployment java-demo --port=80 --target-port=8080 --type=NodePort -o yaml --dry-run > svc.yaml
#运行
kubectl apply -f svc.yaml
#查看pods和svc,每个k8s节点都会应用端口
kubectl get pods,svc
访问:http://192.168.163.129|130|131:32578/

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

更新本地应用步骤

  • k8s 管理后台移除pod
  • 移除镜像
    docker images
    docker rmi [镜像名:版本号]
  • 上传本地应用 重新将应用打包镜像
    docker build -t [镜像名] ./
  • 执行deploy 构建副本,svc 发布服务
    kubectl apply -f [**-deploy].yaml
    kubectl apply -f [**-svc].yaml
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐