kubernetes 源码分析之kubeadm(一)

在进行源码分析之前,我想在第一篇介绍一下这个东西怎么用的,对于不太熟悉这个工具的人可能不太了解。好了,我们先实战一下。

yum install -y kubelet kubectl kubernetes-cni kubeadm

先安装基本组件,国内有阿里yum源还有下面这个源也可以

tee /etc/yum.repos.d/mritd.repo << EOF
[mritdrepo]
name=Mritd Repositorybaseurl=https://rpm.mritd.me/centos/7/x86_64
enabled=1
gpgcheck=1
gpgkey=https://cdn.mritd.me/keys/rpm.public.key
EOF

启动kubelet

systemctl enable kubelet
systemctl start kubelet

启动master

kubeadm init --apiserver-advertise-address 10.39.0.45

加入node,这个token是执行init命令后生成的,请保存!

kubeadm join --token 65195b.d2e09d8ffe3c2a98 10.39.0.45:6443

ok,整个集群搭建完成,是不是很简单。但有几点需要注意,
1.镜像需要提前下载:在国内无法下载gcr的镜像
可以先从https://dev.aliyun.com/list.html?namePrefix=kube查询并下载镜像后,tag成目标镜像
所需镜像主要包括:

gcr.io/google_containers/kube-proxy-amd64
gcr.io/google_containers/kube-controller-manager-amd64
gcr.io/google_containers/kube-apiserver-amd64  
gcr.io/google_containers/kube-scheduler-amd64      
gcr.io/google_containers/pause-amd64                 
gcr.io/google_containers/kube-discovery-amd64 
gcr.io/google_containers/etcd-amd64                    

2.kubeadm部署1.6有个bug,导致kubelet无法启动:

kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

需要修改/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true  --cgroup-driver=systemd"

3.init启动时候回监测/etc/kubernetes等目的是否为空,如果你修改了配置需要将以存在的目录删除,如果没有修改,可以跳过: –skip-preflight-checks
当部署完整个系统过后就可以使用命令查看了:

kubectl --kubeconfig admin.conf  get node
NAME         STATUS    AGE       VERSION
i-zq8y5vs8   Ready     2h        v1.6.1

由于默认是https,所以这里需要引入kubeconfig,这个文件也是kubeadm生成的,放在/etc/kubernetes目录下面。实战过后就开始源码分析了。待续。。。

你可能感兴趣的:(Kubernetes)