Kubernets(三)部署非高可用Kubernetes集群-通过阿里云源安装 kubeadm、kubelet 和 kubectl

Kubernetes v1.20 系列文章目录

Kubernetes(一)认识 kubernetes

Kubernets(二)部署非高可用Kubernetes集群的环境准备

Kubernets(三)部署非高可用Kubernetes集群-通过阿里云源安装 kubeadm、kubelet 和 kubectl

Kubernets(四)创建集群

Kubernetes(五)揭开 kubeadm 的神秘面纱

Kubernetes(六)第一个kubernetes 对象

前言

你需要在每台机器上安装以下的软件包:

  • kubeadm:用来初始化集群的指令。

  • kubelet:在集群中的每个节点上用来启动 Pod 和容器等。

  • kubectl:用来与集群通信的命令行工具。

⚠️确保它们三个版本一致!

一、Ansible 进行部署环境检查

补充: 修改单节点Pod 数量,默认110个

[root@node ~]# vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--max-pods=200"
[root@node ~]# vim /usr/lib/systemd/system/kubelet.service
[Service]
Environment=-/etc/sysconfig/kubelet

[root@node sysconfig]# systemctl daemon-reload
[root@node sysconfig]# systemctl restart kubelet

查看是否生效

kubectl describe node 节点名称 | grep pods: -B 5

目录结构

.
├── deploy-kubeadm.yml
└── files
   └── kubernetes.repo

1. deploy-kubeadm.yml

---
- name: Deploy  kubeadm  kubelet kubectl
  hosts: k8s
  gather_facts: no
  vars:
    pkgs_dir: /kubeadm-pkg
    pkgs: ["kubelet", "kubeadm", "kubectl", "ipvsadm"]

    # 变量 download_host 需要手动设置
    # 且值需要是此 playbook 目标主机中的一个
    # 需要写在 inventory 文件中的名称
    download_host: "k8s-master"

  tasks:
    - name: "只需要给 {{ download_host }}安装仓库文件"
      when: inventory_hostname == download_host
      copy:
        src: files/kubernetes.repo
        dest: /etc/yum.repos.d/kubernetes.repo

    - name: 创建存放 rmp 包的目录
      when: inventory_hostname == download_host
      file:
        path: "{{ pkgs_dir }}"
        state: directory
        
    - name:  下载软件包
      when: inventory_hostname == download_host
      yum:
        name: "{{ pkgs }}"
        download_only: yes
        download_dir: "{{ pkgs_dir }}"

    - name: 传输 rpm 包到远程节点
      when: inventory_hostname != download_host
      copy:
        src: "{{ pkgs_dir }}"
        dest: "/"

    - name: 正在执行从本地安装软件包
      shell:
        cmd: yum -y localinstall *
        chdir: "{{ pkgs_dir }}"
        warn: no
      async: 600
      poll: 0
      register: yum_info
...

2. files/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

3. 使用方法


ansible-playbook -i hosts.ini deploy-kubeadm.yml

4. 关于 Kubelet 服务

对于此文档中使用的 kubernetes1.20.4 版本, kubelet 已经取消了

/etc/sysconfig/kubelet 文件中的 KUBELET_EXTRA_ARGS 变量。

将会使用 /var/lib/kubelet/config.yaml 文件作为 kubelet 的配置文件,
kubelet 将会依照此配置文件进行启动。

kubelet 配置文件的产生

此文件默认是没有的

  • 对于 master 节点,会在集群初始化的过程中生成,生成后初始化程序会自动启动 kubelet 服务。

  • 对于 node 节点,会在将节点加入到集群中生成,生成后会自从启动kubelet 服务。

关于集群的创建在下一篇文章中介绍。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shark_西瓜甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值