kubernetes入门指南(一)

首先得了解一下kubernetes的功能,简单点说,它提供了一种容器编排技术,给用户提供了一种基于容器的服务的快速部署、升级、回滚、访问控制、弹性伸缩等多种编排功能,使得用户在开发、测试、生产环境里面能够达到敏捷开发,快速、可靠交付的目的。

其次,得了解一下kubernetes的角色和组件分布:

在kubernetes中,集群应该是第一个需要理解的概念,这个集群可以统称为由一些具有共同目的并最后对外提供服务的节点聚合。

所以对于kubernetes而言,集群内部的节点角色的划分,成为理解kubernetes的第一步,顾名思义,master为主控角色,node为从属角色。按照一般集群内部的概念,主控角色负责对外访问功能,且负责内部的业务调度和负载均衡,从属节点则需要向主控节点汇报自己的状态和资源状况,以及最终承载业务。

类似的,kubernetes的确提供了上述主从角色的基本功能,并确定了具体的组件来分治具体的功能:

在master上,etcd负载持久化存储,用来存储kubernetes内部的各种类型的资源

kube-apiserver负责http访问和命令行输入

kube-controller负责内部资源的调度分配

kube-scheduler负责业务的调度

在node上,docker负责承载具体的业务容器,包括网络、镜像、卷等处理机制

kube-let则负责节点的注册和汇报节点状态,最重要的是包括了业务的部署实施

kube-proxy则负责业务启动后的访问控制和负载均衡

目前这些组件除了etcd能单独对外提供服务之外,其他组件均需要协同运作才能满足正常工作需求

在测试环境中,一个单机版的kubernetes安装完毕之后应该呈现一下的特点:

 1 [root@cloud ~]# kubectl describe node 127.0.0.1
 2 Name:            127.0.0.1
 3 Role:
 4 Labels:            beta.kubernetes.io/arch=amd64
 5             beta.kubernetes.io/os=linux
 6             kubernetes.io/hostname=127.0.0.1
 7 Taints:            <none>
 8 CreationTimestamp:    Tue, 05 Jun 2018 15:13:08 +0800
 9 Phase:
10 Conditions:
11   Type            Status    LastHeartbeatTime            LastTransitionTime            Reason                Message
12   ----            ------    -----------------            ------------------            ------                -------
13   OutOfDisk         False     Tue, 05 Jun 2018 15:56:04 +0800     Tue, 05 Jun 2018 15:13:08 +0800     KubeletHasSufficientDisk     kubelet has sufficient disk space available
14   MemoryPressure     False     Tue, 05 Jun 2018 15:56:04 +0800     Tue, 05 Jun 2018 15:13:08 +0800     KubeletHasSufficientMemory     kubelet has sufficient memory available
15   DiskPressure         False     Tue, 05 Jun 2018 15:56:04 +0800     Tue, 05 Jun 2018 15:13:08 +0800     KubeletHasNoDiskPressure     kubelet has no disk pressure
16   Ready         True     Tue, 05 Jun 2018 15:56:04 +0800     Tue, 05 Jun 2018 15:13:08 +0800     KubeletReady             kubelet is posting ready status
17 Addresses:        127.0.0.1,127.0.0.1,127.0.0.1
18 Capacity:
19  alpha.kubernetes.io/nvidia-gpu:    0
20  cpu:                    1
21  memory:                1016396Ki
22  pods:                    110
23 Allocatable:
24  alpha.kubernetes.io/nvidia-gpu:    0
25  cpu:                    1
26  memory:                1016396Ki
27  pods:                    110
28 System Info:
29  Machine ID:            36dc953195bb4389870d2591ff6bfea5
30  System UUID:            91592E52-13E1-4613-B9BD-CCFA22D12FEF
31  Boot ID:            60b2d295-a3cb-4f96-98ea-ec56913a0338
32  Kernel Version:        3.10.0-514.26.2.el7.x86_64
33  OS Image:            CentOS Linux 7 (Core)
34  Operating System:        linux
35  Architecture:            amd64
36  Container Runtime Version:    docker://1.13.1
37  Kubelet Version:        v1.5.2
38  Kube-Proxy Version:        v1.5.2
39 ExternalID:            127.0.0.1
40 Non-terminated Pods:        (0 in total)
41   Namespace            Name        CPU Requests    CPU Limits    Memory Requests    Memory Limits
42   ---------            ----        ------------    ----------    ---------------    -------------
43 Allocated resources:
44   (Total limits may be over 100 percent, i.e., overcommitted.
45   CPU Requests    CPU Limits    Memory Requests    Memory Limits
46   ------------    ----------    ---------------    -------------
47   0 (0%)    0 (0%)        0 (0%)        0 (0%)
48 Events:
49   FirstSeen    LastSeen    Count    From            SubObjectPath    Type        Reason            Message
50   ---------    --------    -----    ----            -------------    --------    ------            -------
51   42m        42m        1    {kubelet 127.0.0.1}            Normal        Starting        Starting kubelet.
52   42m        42m        1    {kubelet 127.0.0.1}            Warning        ImageGCFailed        unable to find data for container /
53   42m        42m        2    {kubelet 127.0.0.1}            Normal        NodeHasSufficientDisk    Node 127.0.0.1 status is now: NodeHasSufficientDisk
54   42m        42m        2    {kubelet 127.0.0.1}            Normal        NodeHasSufficientMemory    Node 127.0.0.1 status is now: NodeHasSufficientMemory
55   42m        42m        2    {kubelet 127.0.0.1}            Normal        NodeHasNoDiskPressure    Node 127.0.0.1 status is now: NodeHasNoDiskPressure

里面包含了一下node相关的具体系统信息、资源信息、和events。

猜你喜欢

转载自www.cnblogs.com/diagnose/p/9140247.html