本节重点介绍 :

  • 确立目标
  • 了解各组件的工作内容
  • 对核心模块与引用的库有基本的认识
  • 结合源码,掌握kubernetes的核心概念
  • 部署nginx的pod

确立目标

  1. 从创建pod的全流程入手,了解各组件的工作内容,组件主要包括
  • kubectl
  • kube-apiserver
  • etcd
  • kube-controller
  • kube-scheduler
  • kubelet
  1. 对核心模块与引用的库有基本的认识,为后续深入做好铺垫
  2. 结合源码,掌握kubernetes的核心概念

从创建pod开始看流程和源码

编写一个创建nginx pod的yaml

  • 文件名nginx_pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
    containers:
    - name: nginx
      image: nginx:1.8

使用kubectl部署这个pod

kubectl create -f nginx_pod.yaml
  • 提示 pod/nginx-pod created ,显示这个pod已创建
  • 观察状态
kubectl get pod 
NAME                                           READY   STATUS    RESTARTS   AGE
nginx-pod                                      1/1     Running   0          92s
  • 打印出状态字段解读:

字段名

含义

NAME

nginx-pod就是对应上面 yaml中metadata.name

READY

就绪的个数

STATUS

当前的状态,RUNNING表示运行中

RESTARTS

重启的次数=0,代表没有重启过

AGE

运行的时长

本节重点总结 :

  • 确立目标
  • 了解各组件的工作内容
  • 对核心模块与引用的库有基本的认识
  • 结合源码,掌握kubernetes的核心概念
  • 部署nginx的pod