1. Kubernetes简介
Kubernetes,简称K8s,是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它能够简化应用程序的部署流程,提高资源利用率,并确保应用程序的稳定运行。Kubernetes已经成为容器编排领域的领导者,被广泛应用于各种规模的企业和机构。
2. 安装前的准备
在开始安装Kubernetes之前,你需要准备以下环境:
- 一台或多台虚拟机或物理服务器
- 操作系统:Linux(推荐使用CentOS 7或Ubuntu 16.04)
- 网络环境:确保虚拟机或物理服务器之间可以互相通信
- 虚拟化软件:如VMware、VirtualBox等(可选)
3. 安装Docker
Kubernetes依赖于Docker进行容器化,因此首先需要安装Docker。
3.1 安装Docker CE
以CentOS 7为例,执行以下命令安装Docker CE:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
3.2 安装Docker CE(Ubuntu)
以Ubuntu 16.04为例,执行以下命令安装Docker CE:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
4. 安装Kubernetes
Kubernetes有多种安装方式,这里介绍两种常用的方式:使用kubeadm和使用minikube。
4.1 使用kubeadm安装
kubeadm是一个用于自动化Kubernetes集群安装、升级和故障转移的工具。
4.1.1 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
执行完成后,你将得到一个kubeadm join命令,用于将节点加入集群。
4.1.2 配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.1.3 安装Pod网络插件
这里以Calico为例,执行以下命令安装Pod网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
4.1.4 将节点加入集群
将其他节点加入集群,执行以下命令:
sudo kubeadm join <Master节点IP>:6443 --token <Token> --discovery-token-ca-cert-hash sha256:<CA Cert Hash>
4.2 使用minikube安装
minikube是一个单节点Kubernetes集群,适合本地开发和测试。
4.2.1 安装minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x ./minikube-linux-amd64
sudo mv ./minikube-linux-amd64 /usr/local/bin/minikube
4.2.2 启动集群
minikube start
4.2.3 安装Pod网络插件
minikube ip
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
5. 验证安装
安装完成后,可以使用以下命令验证集群是否正常工作:
kubectl get nodes
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
kubectl get pods
如果一切正常,你应该可以看到集群中有两个Pod正在运行。
6. 总结
通过以上步骤,你已经成功从零开始安装了Kubernetes。现在,你可以开始在你的集群中部署和管理容器化应用程序了。祝你在Kubernetes的世界里探索愉快!