在CentOS 7上单机安装Docker和Kubernetes(K8s)涉及一系列步骤,包括环境准备、安装Docker、配置Kubernetes的yum源、安装Kubernetes组件以及初始化Kubernetes集群。以下是详细的步骤和代码示例:

一、环境准备

更新系统:

sudo yum update -y

这一步是为了确保系统是最新的,并且安装了所有必要的补丁和安全更新。

关闭防火墙(可选,但推荐在测试环境中进行):

sudo systemctl disable firewalld  
sudo systemctl stop firewalld

注意:在生产环境中,应该谨慎处理防火墙设置,以确保系统安全。

关闭和禁用交换空间(Kubernetes不推荐在启用交换空间的情况下运行):

sudo swapoff -a  
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

二、安装Docker

安装必要的软件包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置Docker的yum源:

你可以选择使用Docker的官方源或国内的镜像源(如阿里云)来加速下载。这里以Docker官方源为例:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker CE:

sudo yum install docker-ce -y

启动Docker服务并设置为开机启动:

sudo systemctl enable docker  
sudo systemctl start docker

三、配置Kubernetes的yum源

创建Kubernetes的yum仓库文件:

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo  
[kubernetes]  
name=Kubernetes  
baseurl=https://packages.cloud.google.com/yum/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

四、安装Kubernetes组件

安装kubelet、kubeadm和kubectl:

sudo yum install -y kubelet kubeadm kubectl

启动kubelet服务并设置为开机启动:

sudo systemctl enable kubelet  
sudo systemctl start kubelet

五、初始化Kubernetes集群

使用kubeadm初始化集群:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

注意:–pod-network-cidr参数指定了Pod网络的CIDR范围,这是安装网络插件时必需的。

配置kubectl以访问集群:

初始化完成后,按照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

六、安装网络插件

Kubernetes需要网络插件来实现Pod之间的通信。这里以Calico为例:

sudo kubectl apply -f https://docs.projectcalico.org/v3.x/manifests/calico.yaml

注意:请确保替换v3.x为实际的Calico版本号。

至此,你已经在CentOS 7上成功安装了Docker和Kubernetes,并初始化了Kubernetes集群。现在,你可以使用kubectl命令来管理你的集群了。

以上步骤和代码示例基于当前可用的信息和最佳实践编写,但请注意,由于软件和系统不断更新,具体的步骤和参数可能会有所变化。因此,建议在执行上述步骤之前,先查看官方文档和社区资源以获取最新的信息。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐