美文网首页
Ubuntu 14.04以上版本安装Docker和k8s

Ubuntu 14.04以上版本安装Docker和k8s

作者: syserr | 来源:发表于2019-01-03 14:56 被阅读0次

使用阿里源安装Docker

使用官方脚本自动安装

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

手动命令行安装

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

安装校验

root@NodeA:~# docker version
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:57 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:16:44 2018
  OS/Arch:          linux/amd64
  Experimental:     false

使用ustc源安装k8s

使用如下命令将默认的官方源替换为中科大的源:

sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

注意,如果默认安装中文环境的话,官方源为cn.archive.ubuntu.com

将k8s源加入:

deb [arch=amd64] [https://mirrors.ustc.edu.cn/kubernetes/apt](https://mirrors.ustc.edu.cn/kubernetes/apt) kubernetes-xenial main

然后执行apt-get update命令,如果报错NO_PUBLICKEY,则执行如下命令:

PKEY='XXXXXXX'
gpg --keyserver keyserver.ubuntu.com --recv-keys $PKEY 
gpg --export --armor $PKEY | sudo apt-key add - 

其中XXXXXXXX为提示没有公钥的公钥的最后8位。然后再次执行apt-get update

使用以下命令安装k8s:

sudo apt-get install -y kubelet kubeadm kubectl

启动kubelet:

systemctl enable kubelet && systemctl start kubelet

然后,在master节点上执行以下命令:

kubeadm init --pod-network-cidr=192.168.1.0/16 --kubernetes-version=v1.10.0 --apiserver-advertise-address=192.168.0.139

其中:

含义:
1.选项--pod-network-cidr=192.168.1.0/16表示集群将使用Calico网络,这里需要提前指定Calico的子网范围
2.选项--kubernetes-version=v1.13.1指定K8S版本
3.选项--apiserver-advertise-address表示绑定的网卡IP,注意不可以和pod-network-cidr网段重复,一般为master节点地址
4.若执行kubeadm init出错或强制终止,则再需要执行该命令时,需要先执行kubeadm reset重置

然后,按照命令行提示完成一些初始化动作:

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

记录下命令行提示的其它节点加入master需要执行的命令信息:

kubeadm join 192.168.0.139:6443 --token 1w3bof.o8c7h5hdht1cw1te --discovery-token-ca-cert-hash sha256:d8049786b9be67f6464d1a3bcda9b2f7c4c56334285357e10a82efe7d568f61f

在master节点上创建pod网络:

其它问题

关闭swap

swapoff -a

执行kubeadmin init时会出现镜像拉取失败的问题,需要使用下面的命令获取需要安装的镜像列表:

kubeadm config images list

然后执行以下脚本先手动获取镜像:

#!/bin/bash
images=(
kube-apiserver:v1.13.1
kube-controller-manager:v1.13.1
kube-scheduler:v1.13.1
kube-proxy:v1.13.1
pause:3.1
etcd:3.2.24
coredns:1.2.6
)

for imageName in ${images[@]} ; do
    docker pull gcrxio/$imageName
    docker tag gcrxio/$imageName k8s.gcr.io/$imageName
done

相关文章

网友评论

      本文标题:Ubuntu 14.04以上版本安装Docker和k8s

      本文链接:https://www.haomeiwen.com/subject/djifrqtx.html