这篇文章将记录如何从零开始安装一整套 Docker 和 K8s。网上的资料大多很杂,故自己整理一份,供自己和大家参考。
Prerequisition
$ sudo apt update
$ sudo apt install -y curl net-tools
Install Docker
Use the convenience script (recommended for dev)
$ curl -fsSL https://get.docker.com | sudo bash
Use apt repository for docker (recommended for prod)
- Set up Docker’s
apt
repository.
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
- Install the Docker packages.
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Make docker rootless
Reference: RootlessContainer Minikube Driver
sudo apt install -y uidmap
dockerd-rootless-setuptool.sh install
docker context use rootless
Install minikube
Reference: Official doc
Installation
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
CPU delegate
$ sudo mkdir -p /etc/systemd/system/user@.service.d
$ cat <<EOF | sudo tee /etc/systemd/system/user@.service.d/delegate.conf
[Service]
Delegate=cpu cpuset io memory pids
EOF
$ sudo systemctl daemon-reload
Start your cluster
$ minikube start --driver=docker --container-runtime=containerd
Caveats: the command is minikube
not minicube
,though the pronunciations are the same. If you type minicube
, bash won’t find anything in the PATH.
Install kubectl
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
$ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl