zoukankan      html  css  js  c++  java
  • kubernetes deployment

    deployment是k8s中部署应用最常见的一种方式。如果不需要被访问,那么只需要定义deployment即可。如果需要被其他服务访问,那么可以创建一个service与其绑定,通过访问service来访问对应的服务。

     

    apiVersion: apps/v1beta1
    kind: Deployment
    metadata:
      name: my-nginx
    spec:
    #副本数量 replicas:
    1 template: metadata: labels: run: my-nginx spec: containers: - name: my-nginx image: nginx ports:
    # 暴露容器的80端口
    - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: my-nginx labels: run: my-nginx spec: ports: - port: 80 protocol: TCP nodePort: 30010
    #将设置的nodePort端口映射到宿主机上 type: NodePort
    #与deployment进行绑定 selector: run: my
    -nginx

    如上创建一个nginx的应用,访问任意节点IP:30010端口就就可以看到nginx的web页面。

    比较关键的是,这里设置了deployment和service都设置了run: my-nginx,来绑定在一起。

    replicas字段设置pod数量,多个pod会通过service进行负载均衡。

    创建:kubelctl apply -f ngixn.yaml(再次执行可以更新)

    验证:curl 127.0.0.1:30010

    如果有问题可以通过

    kubectl get pod

    kubectl describe pod my-nginx

    kubectl logs my-nginx 来排除问题

    如果是稍微复杂的应用:

    master-work结构,work向master注册,然后由master分配任务

    那么就需要这么创建

  • 相关阅读:
    github提交代码——步骤备忘
    springboot 集成 lombok.jar
    maven 内置pom属性
    对spring的IOC和aop的学习总结
    前端表单form提交验证清除
    Graph and Chart Study
    Xml学习笔记
    转载unity编辑器xml数据库插件
    MySql(二)_NHibernateHelper管理会话工厂
    MySql(一)_利用NHibernate和MySql交互
  • 原文地址:https://www.cnblogs.com/ssss429170331/p/7686588.html
Copyright © 2011-2022 走看看