zoukankan      html  css  js  c++  java
  • 云原生系列2 部署你的第一个k8s应用

    image.png

    云原生的概念和理论体系非常的完备,but talk is cheap , show me the code ! 但是作为一名程序员,能动手的咱绝对不多BB,虽然talk并不cheap , 能跟不同层次的人讲明白一件事情,本身就不是一件容易的事情。


    引题用的图的意思: hello world !
    即部署你的第一个k8s应用。

    部署步骤

    1. 准备你的应用程序;
    2. 编写Dockerfile,制作镜像,并测试;
    3. 编写yaml文件,找一个k8s资源,部署上线;


    初略的步骤,实际每个步骤做到都不简单,可以进一步拆分成很多二级步骤;后面安排单独的一篇来介绍。

    为了节约时间,这里直接放一个nginx的例子。
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      selector:
        matchLables:
          app: nginx
      replicas: 2
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.7.9
            ports:
            - containerPort: 80
            volumeMounts:
            - mountPath: "/usr/share/nginx/html"
              name: nginx-vol
        volumes:
        - name: nginx-vol
          emptyDir: {}
    

    k8s相关指令

    执行指令

    kubectl apply -f you.yaml
    

    按照标签筛选pod

    kubectl get pods -l app=xxx
    

    查看pod对象定义

    kubectl describe pod youpodname
    

    进入容器内部

    kubectl exec -it youpodname -- /bin/bash
    

    删除对象

    kubectl delete -f you.yaml
    
    kubectl delete deployments/youdeploymentname
    


    k8s相关概念

    deployment


    定义多副本的对象,当pod的定义发生变化的时候,滚动升级

    pod


    k8s世界中的应用,对应容器组,容器组里面有多个

    metadata


    元数据, 分为面向用户的label 和面向内部对象的annotation ;

    spec


    即定义,每个对象的元素不一样,比如deployment 和 pod ;

    volume


    即数据卷。 相对于pod来说,有两种数据卷、


    emptyDir: 宿主机上的默认目录
    hostPath: 显示指定的宿主机的目录;

    devops思考




    开发人员开发完程序之后,提供两个文件跟运维对接,提高devops体验;

    Dockerfile : 制作镜像,标准化开发和部署环境;
    app.yaml: k8s的部署配置文件,标准化部署配置参数;


    小结


    第一个k8s容器化应用.png

    原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。

    no pays,no gains!
  • 相关阅读:
    Java mysql数据库连接Demo1
    java JDBC编程流程步骤
    spring boot定时任务
    mysql分页
    mysql limit 偏移量过大效率解决方式 转贴
    svn both sides of the move must be committed together
    An invalid property 'jdbcType ' was found in mapping
    JSON高亮格式化页面显示
    nprogress 转
    org.apache.commons工具类方法解释 转
  • 原文地址:https://www.cnblogs.com/snidget/p/14405714.html
Copyright © 2011-2022 走看看