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分配任务

那么就需要这么创建

kubernetes deployment的更多相关文章

  1. Kubernetes Deployment(部署无状态应用)

    Kubernetes Deployment(部署无状态应用) Pod与controllers的关系 • controllers:在集群上管理和运行容器的对象 • 通过label-selector相关联 ...

  2. Kubernetes Deployment故障排除图解指南

     个人K8s还在学习中,相关博客还没有写,准备学第二遍再开始学,发现这篇文章挺好,先转载一下. 原创: 白明的赞赏账户 下面是一个示意图,可帮助你调试Kubernetes Deployment(你可以 ...

  3. Kubernetes Deployment 源码分析(二)

    概述startDeploymentController 入口逻辑DeploymentController 对象DeploymentController 类型定义DeploymentController ...

  4. kubernetes deployment升级和回滚

    a.创建deployment pod kubectl run mynginx --image=docker.io/nginx: --record 准备svc文件 apiVersion: v1 kind ...

  5. Kubernetes Deployment滚动升级

    我们k8s集群使用的是1.7.7版本的,该版本中官方已经推荐使用Deployment代替Replication Controller(rc)了,Deployment继承了rc的全部功能外,还可以查看升 ...

  6. Kubernetes Deployment 源码分析(一)

    概述Deployment 基础创建 DeploymentReplicaSet滚动更新失败回滚历史版本回滚其他特性小结 概述 Deployment 是最常用的 Kubernetes 原生 Workloa ...

  7. Kubernetes Deployment 最佳实践

    零.示例 首先给出一个 Deployment+HPA+ PodDisruptionBudget 的完整 demo,后面再详细介绍其中的每一个部分: apiVersion: apps/v1 kind: ...

  8. Kubernetes Deployment与Replica Set

    Deployment相对于RC的优势 RS与Deployment主要用于替代RC.RS的全称为Replica Set.相对于RC,RS与Deployment的优势如下: RC只支持基于等式的selec ...

  9. 【转】kubernetes 中 deployment 支持哪些键值

    这个比较全,可以参考 ================= https://www.addops.cn/post/kubernetes-deployment-fileds.html ========== ...

随机推荐

  1. PHP-九个非常有用的功能[转]

    1. 函数的任意数目的参数你可能知道PHP允许你定义一个默认参数的函数.但你可能并不知道PHP还允许你定义一个完全任意的参数的函数下面是一个示例向你展示了默认参数的函数:// 两个默认参数的函数fun ...

  2. 使用Promise

    Promise所要解决的问题:回调地狱 asyncTask1(data, function (data1){ asyncTask2(data1, function (data2){ asyncTask ...

  3. XML编辑器之XMLSpy2005

    http://baike.baidu.com/link?url=79rnCuCnvoYJZHmQUBdc9INRvBTsWO_RYjWXgWI2sP1thb2WV5_6j_ygzInE7bdE7zaC ...

  4. xp看系统位数

      运行cmd,看打开的cmd窗口标题一般c:\windows\system32代表32位操作系统,64位就是system64,详细系统信息运行命令“systeminfo”  

  5. oc 异常处理

    #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { ...

  6. android适配器Adapter

    一.什么是适配器,适配器有什么用? 适配器是AdapterView视图(如ListView - 列表视图控件.Gallery - 缩略图浏览器控件.GridView - 网格控件.Spinner - ...

  7. Oracle免费版和付费版,各版本的说明

    Oracle免费版和付费版的区别:   首先这里给出一个答案,oracle确实是免费的给学习的人员使用.oracle的策略就是你可以随意下载我的产品,包括oracle,weblogic等产品用于学习, ...

  8. app hybrid

    package com.note.testcases; /** * * The MIT License (MIT) * * Copyright (c) 2016 Alejandro Gómez Mor ...

  9. mysql 5.6.23的源码安装

    http://634871.blog.51cto.com/624871/1325914 首先删除系统自带的mysql rpm -qa | grep mysql   rpm -e mysql   //普 ...

  10. linux权限详解

    一个用户.一个组 我们来看一看 Linux 权限和所有权模型.我们已经看到每个文件属于一个用户和一个组.这正是 Linux 中权限模型的核心.您可以在 ls -l 清单中查看用户和组: $ ls -l ...