Roy学Kubernetes(12):控制器之DaemonSet

DaemonSet确保全部(或部分,取决于你对DaemonSet限制要求)节点上运行一个Pod的副本。当有节点加入集群时,也会自动为此节点新增一个Pod 。 当有节点从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod。

常用场景:

    阅读全文

    ActiveMQ集群搭建

    ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线(消息中间件)。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。

    java消息服务:

    不同系统之间的信息交换,是我们开发中比较常见的场景,比如系统A要把数据发送给系统B,这个问题我们应该如何去处理? 1999年,原来的SUN公司领衔提出了一种面向消息的中间件服务–JMS规范(标准);常用的几种信息交互技术(httpClient、hessian、dubbo、jms、webservice 五种).

    阅读全文

    Roy学Kubernetes(11):控制器之StatefulSets

    StatefulSet是用于管理有状态应用程序的工作负载API对象,它是kubernetes从1.9版本中开始引入。它和其他Controller一样以相同的模式运行,具有Controller相同的特征。关于有状态和无状态服务区分,请参考链接

    阅读全文

    Roy学Kubernetes(10):控制器之Deployments

    Deployments又称部署控制器,它为Pod和ReplicaSet提供声明性更新,是ReplicaSet的高级使用方式。Deployment控制器会以可控的速率将ReplicaSet的实际状态更新到你所定义的状态。

    使用案例

    阅读全文

    Roy学Kubernetes(9):控制器之ReplicaSet

    ReplicaSet即副本集控制器,目的是在任何给定时间维护一组稳定的副本Pod。 因此,它通常用于保证指定数量的相同Pod的可用性。ReplicaSet与其Pods的链接是通过Pods的metadata.ownerReferences字段实现的,该字段指定当前对象所拥有的资源。 ReplicaSet获取的所有Pod在其ownerReferences字段中拥有其拥有的ReplicaSet标识信息。 通过此链接,ReplicaSet知道它正在维护的Pod的状态并相应地进行计划更新。

    阅读全文

    Roy学Kubernetes(8):Kubernetes之Service

    Service是Kubernetes中的关键对象,Kubernetes将运行在一组pod上的应用程序公开为网络服务的抽象方法。为应用程序实现自动化的服务发现,为Pods提供了自己的IP地址和一组Pod的单个DNS名称,并且可以在它们之间进行负载均衡。

    Service的由来

    阅读全文

    Roy学Kubernetes(7):Kubernetes之initContainers

    什么是initContainers?

    初始化容器,顾名思义容器启动的时候,会先启动可一个或多个容器,如果有多个,那么这几个initContainers按照定义的顺序依次执行,只有所有的initContainers执行完成功(返回状态为0)后,主容器才会启动。如果Pod的initContainers失败,Kubernetes会不断地重启该Pod,直到initContainers容器成功为止。但是,如果Pod对应的restartPolicy值为Never,它是不会重新启动。

    阅读全文

    Roy学Docker(6):容器镜像

    如果你读完前面几章,应该掌握了docker的基本概念和用法,但是心里头肯定有个疑惑:docker的镜像是如何而来,此篇即将告诉你答案。

    Docker镜像是容器的基础。 Image镜像是根文件系统更改的有序集合,以及在容器运行时内使用的相应执行参数。 镜像通常包含堆叠在彼此顶部的分层文件系统的并集。 它没有状态,且永远不会改变。

    阅读全文

    Roy学Docker(5):容器运行参数

    前一章我们讲过如何创建一个容器,本章将继续讲解容器创建时的各类自定义参数,借助这些参数,实现我们对服务的各类需求,如端口监听、目录映射、环境变量配置等。

    我们还是先看容器创建参数帮助命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    [root@node1 ~]# docker run --help

    Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    Run a command in a new container

    Options:
    --add-host list Add a custom host-to-IP mapping (host:ip) (default [])
    -a, --attach list Attach to STDIN, STDOUT or STDERR (default [])
    --blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
    --blkio-weight-device weighted-device Block IO weight (relative device weight) (default [])
    --cap-add list Add Linux capabilities (default [])
    --cap-drop list Drop Linux capabilities (default [])
    --cgroup-parent string Optional parent cgroup for the container
    --cidfile string Write the container ID to the file
    --cpu-count int CPU count (Windows only)
    --cpu-percent int CPU percent (Windows only)
    --cpu-period int Limit CPU CFS (Completely Fair Scheduler) period
    --cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota
    --cpu-rt-period int Limit CPU real-time period in microseconds
    --cpu-rt-runtime int Limit CPU real-time runtime in microseconds
    -c, --cpu-shares int CPU shares (relative weight)
    --cpus decimal Number of CPUs (default 0.000)
    --cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)
    --cpuset-mems string MEMs in which to allow execution (0-3, 0,1)
    --credentialspec string Credential spec for managed service account (Windows only)
    -d, --detach Run container in background and print container ID
    --detach-keys string Override the key sequence for detaching a container
    --device list Add a host device to the container (default [])
    --device-read-bps throttled-device Limit read rate (bytes per second) from a device (default [])
    --device-read-iops throttled-device Limit read rate (IO per second) from a device (default [])
    --device-write-bps throttled-device Limit write rate (bytes per second) to a device (default [])
    --device-write-iops throttled-device Limit write rate (IO per second) to a device (default [])
    --disable-content-trust Skip image verification (default true)
    --dns list Set custom DNS servers (default [])
    --dns-option list Set DNS options (default [])
    --dns-search list Set custom DNS search domains (default [])
    --entrypoint string Overwrite the default ENTRYPOINT of the image
    -e, --env list Set environment variables (default [])
    --env-file list Read in a file of environment variables (default [])
    --expose list Expose a port or a range of ports (default [])
    --group-add list Add additional groups to join (default [])
    --health-cmd string Command to run to check health
    --health-interval duration Time between running the check (ns|us|ms|s|m|h) (default 0s)
    --health-retries int Consecutive failures needed to report unhealthy
    --health-timeout duration Maximum time to allow one check to run (ns|us|ms|s|m|h) (default 0s)
    --help Print usage
    -h, --hostname string Container host name
    --init Run an init inside the container that forwards signals and reaps processes
    --init-path string Path to the docker-init binary
    -i, --interactive Keep STDIN open even if not attached
    --io-maxbandwidth string Maximum IO bandwidth limit for the system drive (Windows only)
    --io-maxiops uint Maximum IOps limit for the system drive (Windows only)
    --ip string Container IPv4 address (e.g. 172.30.100.104)
    --ip6 string Container IPv6 address (e.g. 2001:db8::33)
    --ipc string IPC namespace to use
    --isolation string Container isolation technology
    --kernel-memory string Kernel memory limit
    -l, --label list Set meta data on a container (default [])
    --label-file list Read in a line delimited file of labels (default [])
    --link list Add link to another container (default [])
    --link-local-ip list Container IPv4/IPv6 link-local addresses (default [])
    --log-driver string Logging driver for the container
    --log-opt list Log driver options (default [])
    --mac-address string Container MAC address (e.g. 92:d0:c6:0a:29:33)
    -m, --memory string Memory limit
    --memory-reservation string Memory soft limit
    --memory-swap string Swap limit equal to memory plus swap: '-1' to enable unlimited swap
    --memory-swappiness int Tune container memory swappiness (0 to 100) (default -1)
    --name string Assign a name to the container
    --network string Connect a container to a network (default "default")
    --network-alias list Add network-scoped alias for the container (default [])
    --no-healthcheck Disable any container-specified HEALTHCHECK
    --oom-kill-disable Disable OOM Killer
    --oom-score-adj int Tune host's OOM preferences (-1000 to 1000)
    --pid string PID namespace to use
    --pids-limit int Tune container pids limit (set -1 for unlimited)
    --privileged Give extended privileges to this container
    -p, --publish list Publish a container's port(s) to the host (default [])
    -P, --publish-all Publish all exposed ports to random ports
    --read-only Mount the container's root filesystem as read only
    --restart string Restart policy to apply when a container exits (default "no")
    --rm Automatically remove the container when it exits
    --runtime string Runtime to use for this container
    --security-opt list Security Options (default [])
    --shm-size string Size of /dev/shm, default value is 64MB
    --sig-proxy Proxy received signals to the process (default true)
    --stop-signal string Signal to stop a container, SIGTERM by default (default "SIGTERM")
    --stop-timeout int Timeout (in seconds) to stop a container
    --storage-opt list Storage driver options for the container (default [])
    --sysctl map Sysctl options (default map[])
    --tmpfs list Mount a tmpfs directory (default [])
    -t, --tty Allocate a pseudo-TTY
    --ulimit ulimit Ulimit options (default [])
    -u, --user string Username or UID (format: <name|uid>[:<group|gid>])
    --userns string User namespace to use
    --uts string UTS namespace to use
    -v, --volume list Bind mount a volume (default [])
    --volume-driver string Optional volume driver for the container
    --volumes-from list Mount volumes from the specified container(s) (default [])
    -w, --workdir string Working directory inside the container

    阅读全文

    Roy学Kubernetes(6):Kubernetes之Pod生命周期

    Pod是Kubernetes中服务运行的最小单元,所有我们有必要对它的生命周期做更详细的了解。

    Pod的状态

    Pod有如下几种状态,通过kubelet get pod获取status字段查看

    阅读全文