centos7单机安装docker和k8s

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

一、环境准备

更新系统:

bash 复制代码
sudo yum update -y

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

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

bash 复制代码
sudo systemctl disable firewalld  
sudo systemctl stop firewalld

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

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

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

二、安装Docker

安装必要的软件包:

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置Docker的yum源:

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

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

安装Docker CE:

bash 复制代码
sudo yum install docker-ce -y

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

bash 复制代码
sudo systemctl enable docker  
sudo systemctl start docker

三、配置Kubernetes的yum源

创建Kubernetes的yum仓库文件:

bash 复制代码
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:

bash 复制代码
sudo yum install -y kubelet kubeadm kubectl

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

bash 复制代码
sudo systemctl enable kubelet  
sudo systemctl start kubelet

五、初始化Kubernetes集群

使用kubeadm初始化集群:

bash 复制代码
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

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

配置kubectl以访问集群:

初始化完成后,按照kubeadm输出的提示,执行以下命令来配置kubectl:

bash 复制代码
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为例:

bash 复制代码
sudo kubectl apply -f https://docs.projectcalico.org/v3.x/manifests/calico.yaml

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

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

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

相关推荐
时迁2471 小时前
【k8s】k8s是怎么实现自动扩缩的
云原生·容器·kubernetes·k8s
诡异森林。4 小时前
Docker--Docker网络原理
网络·docker·容器
ALex_zry4 小时前
Docker Macvlan网络配置实战:解决“network already exists“错误
网络·docker·php
IT小辉同学5 小时前
Docker如何更换镜像源提高拉取速度
spring cloud·docker·eureka
matrixlzp6 小时前
K8S Service 原理、案例
云原生·容器·kubernetes
GnixAij7 小时前
Docker SSH端口转发
docker·ssh
angushine7 小时前
让Docker端口映射受Firewall管理而非iptables
运维·docker·容器
玄明Hanko8 小时前
生产环境到底能用Docker部署MySQL吗?
后端·mysql·docker
玄明Hanko8 小时前
Quarkus+Docker最全面完整教程:手把手搞定Java云原生
后端·docker·云原生
SimonLiu0099 小时前
清理HiNas(海纳斯) Docker日志并限制日志大小
java·docker·容器