Kubernetes(简称K8s)是当前最流行的容器编排工具之一,它可以帮助你轻松管理容器化应用。本文将为你提供一份详细的Kubernetes安装指南,从入门到实践,让你一步到位掌握Kubernetes。
1. 环境准备
在开始安装Kubernetes之前,你需要准备以下环境:
- 操作系统:Linux(推荐使用Ubuntu 16.04或CentOS 7)
- 硬件要求:至少2GB内存
- 虚拟机:可以选择VirtualBox、VMware等虚拟机软件创建虚拟机
2. 安装Docker
Kubernetes依赖于Docker进行容器化,因此首先需要安装Docker。
2.1 安装Docker CE
- 更新系统包列表:
sudo apt-get update
- 安装Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 验证安装:
docker --version
2.2 安装Docker Compose
Docker Compose用于定义和运行多容器Docker应用。
- 安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 给予执行权限:
sudo chmod +x /usr/local/bin/docker-compose
- 验证安装:
docker-compose --version
3. 安装Kubernetes
3.1 下载Kubernetes二进制文件
访问Kubernetes releases页面,找到对应操作系统的版本,下载
kubeadm、kubectl和kubelet的二进制文件。将下载的文件移动到
/usr/local/bin目录下:
sudo mv kubeadm kubelet kubectl /usr/local/bin/
- 给予执行权限:
sudo chmod +x /usr/local/bin/kubeadm kubelet kubectl
3.2 初始化Master节点
- 创建一个
kubeadm配置文件kubeadm.conf:
sudo cp /etc/kubernetes/kubeadm.conf /etc/kubernetes/kubeadm.conf.bak
- 编辑
kubeadm.conf文件,修改以下内容:
apiServerExtraArgs:添加--advertise-address=<master-node-ip>(master节点IP地址)etcd:修改dataDir为/etcd/datacontrollerManagerExtraArgs:添加--cluster-advertise=<master-node-ip>schedulerExtraArgs:添加--cluster-advertise=<master-node-ip>
- 初始化Master节点:
sudo kubeadm init --config=kubeadm.conf
- 将
kubeadm、kubectl和kubelet加入到sudoers文件:
sudo cp /etc/sudoers.d/kubeadm /etc/sudoers.d/kubeadm.bak
echo ' Defaults env_keep += "KUBECONFIG"' | sudo tee /etc/sudoers.d/kubeadm
- 配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
3.3 安装Worker节点
- 在Worker节点上执行以下命令:
sudo kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
其中,<master-node-ip>是Master节点的IP地址,<token>和<hash>是在Master节点上生成的token和ca-cert-hash值。
- 安装Kubelet和Kube-Proxy:
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
- 修改
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件,取消注释ExecStart行:
ExecStart=/usr/bin/kubelet --address=127.0.0.1 --pod-manifest-path=/var/lib/kubelet/manifests --allow-privileged=true --read-only-port=0 --cgroup-driver=systemd --kubelet-plugins=aws-node,livenessprobe --container-runtime=docker --network-plugin=cni
- 重启Kubelet服务:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
4. 验证安装
- 验证Master节点:
kubectl get nodes
- 验证Worker节点:
kubectl get nodes
现在你已经成功安装了Kubernetes,接下来你可以开始实践,学习如何部署和管理容器化应用了。祝你学习愉快!