安装K8S过程

本文详细记录了在Ubuntu和CentOS上安装Kubernetes(K8S)的过程,包括修改镜像源、更新安装、下载镜像、配置、初始化、处理超时错误以及部署dashboard的步骤。特别强调了配置中忽略swap错误的必要性,以及如何解决初始化过程中的网络问题。

安装K8S过程

1、修改下载镜像源

  • Ubuntu 修改为阿里云

    cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
    
  • CentOS 修改为阿里云

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    EOF
    

2、更新并安装

  • 更新
    $ apt-get update 
    $ apt-get install -y kubelet kubeadm kubectl --allow-unauthenticated
    # $ apt-get install -y kubernetes-cni=0.6.0-00
    

3、下载镜像

  • 编写脚本
    $ touch pullk8s.sh    # 创建脚本文件
    $ nano pullk8s.sh     # 编辑脚本
    # shell 脚本内容为
    #!/bin/sh
    for  i  in  `kubeadm config images list`;  do
        imageName=${
         
         i#k8s.gcr.io/}
        docker pull registry.aliyuncs.com/google_containers/$imageName
        docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
        docker rmi registry.aliyuncs.com/google_containers/$imageName
    
### 如何安装 Kubernetes (K8s) #### 安装前的准备工作 在开始安装之前,需要确保服务器环境已经准备好。这通常包括配置操作系统、禁用 swap 文件以及安装必要的依赖项。 - **禁用 Swap**: Kubernetes 不支持启用 swap 的系统,因此需要通过 `swapoff -a` 命令来关闭 swap[^1]。 - **安装 Docker**: Kubernetes 使用容器运行时,默认推荐使用 Docker。可以通过以下命令安装最新版本的 Docker 并启动它: ```bash yum install -y docker systemctl start docker && systemctl enable docker ``` - **修改 Docker CGroup 驱动**: 默认情况下,Docker 的 cgroup 驱动为 `cgroupfs`,而 Kubernetes 推荐将其改为 `systemd`。可以在 `/etc/docker/daemon.json` 中添加如下配置并重启 Docker 服务: ```json { "exec-opts": ["native.cgroupdriver=systemd"] } ``` 然后执行以下命令以应用更改: ```bash systemctl restart docker ``` #### 安装 Kubernetes 组件 完成上述准备之后,可以继续安装 Kubernetes 的核心组件:`kubelet`, `kubectl`, 和 `kubeadm`。 - 执行以下命令安装指定版本的 Kubernetes 工具: ```bash yum install -y kubelet-1.17.3 kubectl-1.17.3 kubeadm-1.17.3 ``` - 设置 `kubelet` 开机自启,并手动启动该服务: ```bash systemctl enable kubelet --now ``` #### 初始化 Master 节点 初始化 Kubernetes 集群的核心操作是运行 `kubeadm init` 命令: ```bash kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 此命令会创建一个最小化的 Kubernetes 集群,并返回加入其他节点所需的令牌信息。完成后,管理员需切换到普通用户权限下配置 kubeconfig 文件以便后续管理集群。 #### 加入 Node 节点 对于希望作为工作节点参与计算资源贡献的机器,在每台 node 上依次输入 master 提供的 join token 即可实现自动化注册过程。 --- ### 注意事项 为了保证整个系统的稳定性与兼容性,请务必确认所有节点上的软件版本保持一致性;另外还需要关注网络插件的选择问题——这里选择了 Flannel 为例说明 CIDR 参数设置方法[^2]。 如果遇到任何异常情况或者错误提示,则应该仔细查阅官方文档获取更多帮助资料[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值