当前位置: 首页 > news >正文

k8s项目部署

k8s命令

  • k8s项目部署
    • 部署流程
    • 实现

导出相应的yaml文件
kubectl create deployment 名字--image=镜像-o yaml --dry-run=client > 文件名
例:
kubectl create deployment nginx --image=nginx -o yaml --dry-run=client > m1.yaml导出已经部署后的yaml文件
kubectl get deploy 名字 -o=yaml > 文件名
例:
kubectl get deploy hello-minikube -o=yaml > my2.yaml为node设置label 
kubectl label node 节点名 env_role= label名
例:
kubectl label node minikube env_role=prod获取节点的label信息
kubectl get nodes --show-labelsdeployment部署web1. 生成相关的yaml文件,例:
kubectl create deployment web --image=nginx --dry-run -o yaml > web.yaml 
2. 使用yaml部署,例:
kubectl appy -f web.yaml
3. 对外发布(暴露对外端口号),例:
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml > web1.yaml
kubectl apply -f web1.yaml版本更新:
kubectl set image deployment pod名称  镜像=镜像:版本
例:
kubectl set image deployment nginx nginx=nginx:1.5查看升级状态:
kubectl rollout status deployment Name
例:
kubectl rollout status deployment nginx查看升级版本:
kubectl rollout history deployment Name
例:
kubectl rollout history deployment nginx回滚上个版本
kubectl rollout undo deployment Name
例
kubectl rollout undo deployment nginx回滚到指定的版本:
kubectl rollout undo deployment Name --to-revision=?
例:
kubectl rollout undo deployment nginx --to-revision=2弹性伸缩
kubectl scale deployment Name --replicas=?
例:
kubectl scale deployment nginx --replicas=10

k8s项目部署

部署流程

  1. 将java代码打成jar包
  2. 制作镜像(Dockerfile)
  3. 推送镜像(推送到阿里云、网易、私有库等)
  4. 使用控制器部署镜像(Deployment)
  5. 对外暴露应用(Service、Ingress)
  6. 运维(监控、升级、故障排查)

实现

  1. 将代码打成jar包(可以使用maven的package或者gradle的build工具进行打包)

  2. 编写Dockerfile文件并执行

    Dockerfile文件内容

    //选择jdk8的镜像源
    FROM openjdk:8-jdk-alpine
    //挂载到/tmp目录下
    VOLUME /tmp
    //将当前目录的DockerTest-0.0.1-SNAPSHOT.jar改名为wu-docker.jar并打成镜像
    ADD ./DockerTest-0.0.1-SNAPSHOT.jar wu-docker.jar
    //执行java -jar的命令 来运行该镜像
    ENTRYPOINT [ "java","-jar","/wu-docker.jar","&"]
    

    运行Dockerfile文件

    //-t 后表示上传到docker上镜像的名字以及版本号(注意后面还有一个.)
    docker build -t java-docker-k8s:1.0 .
    

    成功后会多出一个名为java-docker-k8s的镜像

  3. 推送到aliyun

    • 在aliyun的容器镜像服务中创建命名空间,再创建镜像仓库。
    • 根据镜像仓库中的提示上传或拉去镜像即可
  4. 通过k8s进行部署

    • 通过deployment命令,生成镜像的yaml文件kubectl create deployment Name --image=阿里云镜像pull的路径 --dry-run=client -o yaml > yaml文件名.yaml
    • 运行该yaml文件kubectl apply -f yaml文件名.yaml
  5. 对外暴露服务(Service)

    • 创建多个副本kubectl scale deployment NAME --replicas=副本个数
    • kubectl expose deployment Name --port=对外端口 --target-port=本身端口 --type=NodePort
    • 查看详情kubectl get svc
  6. 。。。。。。。。。

http://www.lryc.cn/news/7299.html

相关文章:

  • Modbus通信协议学习笔记
  • ubuntu重启、关机命令
  • Xshell 7 连接云服务器的步骤和出现的错误
  • Python多进程同步——文件锁
  • 实现 element-plus 表格多选时按 shift 进行连选的功能
  • 华为OD机试真题JAVA实现【考古学家】真题+解题思路+代码(20222023)
  • Spring3之基于Aspect实现AOP
  • buctoj-寒假集训进阶训练赛(二十二)
  • 华为OD机试真题JAVA实现【静态扫描最优成本】真题+解题思路+代码(20222023)
  • 汽车装配工厂立库物料运送线PLC无线应用
  • Python雪花代码
  • Numpy基础与实例——人工智能基础
  • MQTT的工作原理
  • iOS开发:UINavigationController自定义返回按钮,系统导航支持侧滑返回
  • 【Kafka进阶】-- unclean.leader.election.enable参数的内涵
  • 基于redis实现分布式锁
  • C#开发的OpenRA动态加载插件DLL里的类实现
  • 网站代理是什么?有什么需要注意的?
  • 动态库和静态库的区别
  • C/C++路径去除前缀
  • Vue2之Vue-cli应用及组件基础认识
  • C 学习笔记 —— 声明、定义、初始化
  • 机械狗控制算法
  • 向量与矩阵 导数和偏导数 特征值与特征向量 概率分布 期望方差 相关系数
  • 记录--前端实现登录拼图验证
  • 【Go语言基础】Go语言中的map集合详细使用(附带源码)
  • C++11 lambda
  • 【新】华为OD机试 - 分苹果(Python)
  • Python 模块
  • gdb调试功能从零到会(Linux详解)