1、关闭swap

依次执行下面的命令:

# 查看分区的使用状态
free -mh
# 禁用swap分区
sudo swapoff -a
# 查看分区的使用状态
free -mh

2、添加k8s源

编辑文件/etc/apt/sources.list.d/kubernetes.list

sudo vi /etc/apt/sources.list.d/kubernetes.list

插入以下内容:

deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

再执行命令查看:

cat /etc/apt/sources.list.d/kubernetes.list

3、导入k8s密钥

执行命令:

sudo curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

4、更新并安装kubeadm, kubelet 和 kubectl

执行命令:

sudo apt-get update
sudo apt-get install kubelet kubeadm kubectl

5、设置阿里云镜像加速

编辑文件/etc/docker/daemon.json:

sudo vi /etc/docker/daemon.json

修改成如下内容:

{
    "registry-mirrors": [
            "https://{阿里云分配的地址}.mirror.aliyuncs.com",
            "https://registry-1.docker.io/v2/"
    ]
}

再执行命令查看:

cat /etc/docker/daemon.json

6、拉取镜像

从阿里云拉取镜像并转换tag,执行命令如下:

for  i  in  `kubeadm config images list`;  do
    imageName=${i#k8s.gcr.io/}
    docker pull registry.aliyuncs.com/google_containers/$imageName
    docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    docker rmi registry.aliyuncs.com/google_containers/$imageName
done;

如果有拉取不下来的,可以再上网找找镜像然后转换tag,或者直接执行下面的命令用docker官方镜像拉取,但是官方镜像拉取速度可能会很慢

for  i  in  `kubeadm config images list`;  do
    docker pull i
done;

7、kubeadm初始化

执行命令:

kubeadm init --pod-network-cidr=10.244.0.0/16

8、执行提示的命令

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

9、安装网络插件

执行命令:

kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml

10、安装Ingress

执行命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/cloud/deploy.yaml

查看命令:

kubectl get pods --all-namespaces