注意以下命令,需要切换到 root 后运行 系统:ubuntu 16.04
安装 docker 首先确定已经安装完成 docker,如果没有安装可以使用以下脚本快速安装并配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 curl -fsSL https://get.docker.com | sudo sh -s -- --mirror Aliyun sudo usermod -aG docker $USER sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' {   "exec-opts": ["native.cgroupdriver=systemd"],   "log-driver": "json-file",   "log-opts": {     "max-size": "100m"   },   "storage-driver": "overlay2",   "registry-mirrors": ["https://t9ab0rkd.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 
安装 k8s 套件 1 2 3 4 5 6 7 8 9 10 11 12 #  添加并信任APT证书 curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - #  添加源地址 add-apt-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" #  更新源并安装最新版 kubenetes sudo apt update && apt install -y kubelet kubeadm kubectl #  添加 completion,最好放入 .bashrc 中 source <(kubectl completion bash) source <(kubeadm completion bash) 
关闭 swap 为了性能考虑,k8s 需要关闭 swap 功能,然后重启主机。
在 /etc/fstab 中找到带有 swap 的那一行,注释掉。
1 2 $ vim /etc/fstab # UUID=9224d95f-cd87-4b56-b249-3dc7de4491d3 none            swap    sw              0       0 
启动 master 节点: 1 kubeadm init --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' 
--image-repository 指定控制平面容器镜像地址,这里使用aliyun镜像,而不是默认的 k8s.gcr.io,这样就能避免下载失败。
如果 init 失败,检查是否关闭 swap、 用户是否为 root 以及是否下载好核心组件镜像(可能得网络的问题)、是否为至少 2G 内存,然后运行 kubeadm reset 接着再 kubeadm init。
配置读取路径 1 2 #  append to .bashrc export KUBECONFIG=/etc/kubernetes/admin.conf 
安装网络插件 1 kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" 
加入 worker worker 节点加入 master,使用 kubeadm init 最后提示的命令在 worker 上运行
1 2 3 4 kubeadm join 192.168.199.117:6443 \ --token y8l6qv.oj2hxua9szguei23 \ --discovery-token-ca-cert-hash \ sha256:bae71d8fb4a26c5f29a6df2db037e08e581fcb344ff85089a603e3eeb9d6d26f 
其中 --token 是临时的生成,可以通过下面命令获取
1 2 3 $  kubeadm token list TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS y8l6qv.oj2hxua9szguei23   23h      2019-09-09T12:04:27+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token 
这个 token 24小时后会自动过期,不过可以再次获取
1 2 $  kubeadm token create czlboe.16mkdt47tkhd0714 
而 --discovery-token-ca-cert-hash 指的是 CA 证书的哈希值,那么可以使用这种方式获取:
1 2 $  openssl x509 -pubkey -in  /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | sha256sum  | awk '{print $1}'  3e77f845edf944d76234a6d78dde3e5bae3e50261362b1d8cc8d025ac97136b0 
查看 nodes 在 master 节点上运行 
minikube国内源 在minikube 文档页面,选择操作系统,然后下载 minikube,注意版本号。
在k8s-kubectl 页面下载 kubectl 并放在$PATH下,注意版本号。
下载安装 virtualbox。
启动命令:
1 2 3 4 5 6 minikube start \ --vm-driver=virtualbox \ --image-mirror-country=cn \ --registry-mirror='https://t9ab0rkd.mirror.aliyuncs.com' \ --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' \ --iso-url='https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.5.1.iso' 
–image-mirror-country cn 将缺省利用 registry.cn-hangzhou.aliyuncs.com/google_containers 作为安装Kubernetes的容器镜像仓库,
官方源 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #  k8s curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" #  docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" #  apt安装 apt-get update && apt-get install docker-ce kubeadm cat > /etc/docker/daemon.json <<EOF {   "exec-opts": ["native.cgroupdriver=systemd"],   "log-driver": "json-file",   "log-opts": {     "max-size": "100m"   },   "storage-driver": "overlay2" } EOF mkdir -p /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart docker