Ubuntu下安装Kubeadm-初始化

系统安装完毕,准备好小飞机和之前列明的各项准备后可以安装K8s了。

根据安装文档:
https://kubernetes.io/zh/docs/setup/independent/install-kubeadm/

su
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

先切换到root用户。
将源key添加进系统。

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

将源添加进更新列表

apt-get update
apt-get install -y kubelet kubeadm kubectl
apt-mark hold kubelet kubeadm kubectl

注意,安装kubeamd的命令必须用superuser运行,普通用户即使使用sudo提权也不行,会报错的。
关于root用户以下不再赘述。

使用命令初始化。

kubeadm init

哈哈哈,是不是报错了?没关系,别激动。
之前系统准备我们让Ubuntu正常使用了小飞机,但是Docker本身并不会去读取系统Proxy配置,而K8s上网是通过Docker实现的,于是我们应该修改Docker配置让docker本身也能使用小飞机。

首先

nano /etc/enviorment

在最后加上以下内容:

no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com,172.16.100.50"

注意最后的ip地址改为你安装kubeadm的本机ip,否则kubeadm会报warning。

接下来

mkdir -p /etc/systemd/system/docker.service.d/
nano /etc/systemd/system/docker.service.d/http-proxy.conf

输入以下内容

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:12333/"
Environment="HTTPS_PROXY=http://127.0.0.1:12333/"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com,172.16.100.50"

重启docker服务:

systemctl daemon-reload
systemclt restart docker

让以上修改生效。

如果没问题,使用以下语句应该可以看到成功拉取image了。

kubeadm config images pull

如图所示:

image下拉没有问题后就可以使用kubeadm初始化了。

kubeadm init

如图,大功告成。
可将token记录下来,以后join进master组集群的时候要用。
没记也没关系,可以用命令显示出来。