centos 搭建K8S集群

本文详细介绍了在Linux环境中安装和配置Kubernetes的过程,包括解决yum源问题、添加kubernetes yum源、安装kubelet、kubeadm和kubectl等关键组件,并设置kubelet开机启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.安装docker-ce

2.yum报错

 One of the configured repositories failed (Kubernetes),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=kubernetes ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable kubernetes
        or
            subscription-manager repos --disable=kubernetes

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=kubernetes.skip_if_unavailable=true

failure: repodata/repomd.xml from kubernetes: [Errno 256] No more mirrors to try.
https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/repodata/repomd.xml: [Errnohost: mirrors.aliyun.com; 未知的错误"
 

dns解析的问题,解决办法:
vim /etc/resolv.conf  加入:
nameserver 8.8.8.8
nameserver 8.8.4.4(或192.168.116.2)还不理解为什么
search localdomain

注:文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件: 
  search mydom.edu.cn
  nameserver 210.34.0.14
  nameserver 210.34.0.2
  

       合法的参数及其意义如下:
  nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver。 
  domain   声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。 
  search   它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。 
  sortlist  允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。

3.添加 kubernetes 的 yum 源(所有节点&需要翻墙)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
> [kubernetes]
> name=Kubernetes
> baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
> 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.安装kubelet,kubeadm,kubectl

yum install -y kubelet kubeadm kubectl

5.开机启动 kubelet

systemctl enable kubelet && systemctl start kubelet

CentOS 7上搭建KubernetesK8s集群通常需要以下几个步骤: 1. **安装Prerequisites**: - 更新系统:`sudo yum update` - 安装依赖:`sudo yum install -y epel-release kubelet kubeadm kubectl flannel-tools` 2. **加入EPEL仓库** (可选,加速一些工具包安装): `sudo yum-config-manager --enable epel` 3. **安装kube-y kube-proxy flannel ``` 4. **配置kubeadm**: - 创建一个管理员证书文件(如:`kadmindir/kubeadmin.conf`),包含API密钥、名称等信息。 - 使用`kubeadm init`初始化集群,例如: ``` kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 这将创建一个配置文件,并提示你设置管理员节点的信息。 5. **启动控制平面服务**: - 使用`sudo kubectl apply -f <path_to>/manifests`部署控制节点(如etcd和apiserver)。 - 启动kubelet和kube-proxy服务。 6. **验证集群状态**: `kubectl get nodes` 确认节点是否注册成功。 7. **加入worker节点**: - 让新的机器运行`kubeadm join`命令,加入到已有的控制节点集群。 ``` kubeadm join <master-ip>:<port> --token <token> ``` 8. **配置网络**: 如果选择了Flannel,还需要创建对应的配置文件并重启Flannel服务。 9. **配置持久化存储(可选)**: 根据业务需求配置PVC(Persistent Volume Claims)和PV(Persistent Volumes)。 10. **进一步优化**: - 配置HAProxy或Weave网关以提供高可用性。 - 安全考虑,启用RBAC(Role-Based Access Control)和网络策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值