目录
- Kubernetes简介
- 环境准备
- 硬件要求
- 软件要求
- 安装Docker
- 安装Kubeadm、Kubelet和Kubectl
- 初始化Master节点
- 安装网络插件
- 安装工作节点
- 验证集群状态
- 常见问题及解决方法
1. Kubernetes简介
Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了资源管理、服务发现、负载均衡、自动装箱、自我修复等功能。
2. 环境准备
2.1 硬件要求
- CPU:2核以上
- 内存:4GB以上
- 硬盘:20GB以上
2.2 软件要求
- 操作系统:CentOS 7
- Docker:1.13.1以上
- Kubernetes:1.16.2以上
3. 安装Docker
# 安装Docker
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
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
# 启动Docker
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
4. 安装Kubeadm、Kubelet和Kubectl
# 安装Kubeadm、Kubelet和Kubectl
sudo cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
sudo yum install -y kubelet-1.16.2 kubeadm-1.16.2 kubectl-1.16.2
sudo systemctl start kubelet
sudo systemctl enable kubelet
5. 初始化Master节点
# 初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
# 记录token和master地址
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
6. 安装网络插件
这里以Flannel为例进行安装。
# 安装Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
7. 安装工作节点
# 在工作节点上执行以下命令
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
8. 验证集群状态
# 查看节点状态
kubectl get nodes
# 查看Pod状态
kubectl get pods -n kube-system
9. 常见问题及解决方法
- 问题:初始化Master节点时,遇到错误“invalid argument”。 解决方法:检查主机名是否正确,并确保hosts文件中已添加master节点的主机名和IP地址。
- 问题:安装网络插件时,遇到错误“error validating configuration”。 解决方法:检查kubeadm init输出的命令是否正确执行,并确保Master节点已初始化成功。
- 问题:工作节点加入集群失败。 解决方法:检查token是否过期,并重新获取token。
以上是使用kubeadm在CentOS上部署Kubernetes集群的详细步骤。通过本文,您应该能够轻松上手Kubernetes集群的部署。祝您学习愉快!