在CentOS 7中安装Kubernetes集群的步骤详解
1. 安装Docker
首先需要安装Docker作为Kubernetes的底层服务。可以按照以下方式安装Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
systemctl enable docker && systemctl start docker
2. 关闭SELinux和防火墙
Kubernetes一般需要关闭SELinux和防火墙,否则可能会遇到网络连接问题。可以执行以下命令关闭他们:
setenforce 0
systemctl stop firewalld && systemctl disable firewalld
3. 添加Kubernetes源
使用以下命令添加最新的Kubernetes源:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
4. 安装Kubernetes组件
使用以下命令安装Kubernetes组件:
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
5. 初始化Master节点
首先需要选择一个节点作为Kubernetes集群的Master节点。我们可以在集群中选择一台节点完成Master的初始化,具体操作如下:
kubeadm init --apiserver-advertise-address=192.168.0.1 --pod-network-cidr=10.244.0.0/16
其中,--apiserver-advertise-address
参数的值需要替换成当前节点的IP地址。而--pod-network-cidr
参数是这个具体示例中才用的IP地址段,选择类似的其他地址段即可。
初始化完成后,会输出一些信息,包括如何加入其他节点到集群中:
kubeadm join 192.168.0.1:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这是一个加入Kubernetes集群的示例命令,其中一些参数的值是需要替换的,比如--token
的值需要从Master初始化的输出信息中获取。
6. 安装网络插件
安装完成后,还需要安装网络插件才能让节点之间互相通信,这里选择使用Flannel网络插件,安装方式如下:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
安装完成后,可以通过以下命令查看节点的状态:
kubectl get nodes
7. 安装Dashboard
安装Dashboard可以方便的管理和监控Kubernetes的各个节点。可以通过以下命令来安装Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
安装成功后,可以使用以下命令查看Dashboard的URL地址:
kubectl describe service kubernetes-dashboard -n kubernetes-dashboard
通过这个地址就可以访问Kubernetes集群的Dashboard了。
示例说明
以下是两个示例,分别是安装Docker和安装Dashboard的详细操作。
示例一:安装Docker
- 安装所需的软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加Docker仓库:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装Docker:
yum install docker-ce
- 启动Docker:
systemctl enable docker && systemctl start docker
示例二:安装Dashboard
- 部署Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
- 创建ServiceAccount:
kubectl create sa admin-user -n kube-system
- 绑定ClusterRole和ServiceAccount:
kubectl create clusterrolebinding admin-user --clusterrole=cluster-admin --serviceaccount=kube-system:admin-user
- 获取Token:
kubectl describe secret $(kubectl get secrets -n kube-system | grep admin-user | awk '{print $1}') -n kube-system
-
通过Token登录Dashboard,访问以下URL:
https://<kubernetes-master>/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
其中,<kubernetes-master>
是Kubernetes集群Master节点的地址。