Kubernetes 安装工具 Kubeadm
Kubernetes 可以使用 Kubeadm + Ansible 的方式搭建,本文介绍 Kubeadm 概念和作用。
1. Kubeadm 是什么
Kubeadm 是一个提供 Kubeadm init 和 Kubeadm join 命令,用于创建 Kubernetes 集群的快速路径的工具。
Kubeadm 可以在多种设备上运行,可以是 Linux笔记本电脑,虚拟机,物理/云服务器或 Raspberry Pi。这使得 Kubeadm 非常适合与不同种类的配置系统(例如Terraform,Ansible等)集成。
开发者可以在支持安装 deb 或 rpm 软件包的操作系统上非常轻松地安装 Kubeadm。SIG 集群生命周期SIG Cluster Lifecycle Kubeadm的 SIG 相关维护者提供了预编译的这些软件包,也可以在其他操作系统上使用。
2. Kubeadm 目标
Kubeadm 的目标是在不安装其他功能插件的基础上,建立一个通过 Kubernetes 一致性测试 Kubernetes Conformance tests 的最小可行集群。它在设计上并不会安装网络解决方案,而是需要用户自行安装第三方符合 CNI 的网络解决方案(如:flannel,calico,weave network等)。
3. Kubeadm 子任务
- kubeadm init 初始化Kubernetes主节点
- kubeadm join 初始化Kubernetes工作节点并将其加入群集
- kubeadm upgrade 将Kubernetes集群升级到更新版本
- kubeadm token 用于管理Kubeadm join所使用的令牌
- kubeadm reset 恢复由Kubeadm init或 Kubeadm join对此主机所做的任何更改
- kubeadm version 版本打印Kubeadm版本
4. Kubeadm 安装
安装Kubeadm需要手动安装Kubelet和Kubectl,因为Kubeadm是不会安装和管理这两个组件的。
- Kubelet:在群集中的所有计算机上运行的组件,并执行诸如启动pod和容器之类的操作。
- Kubectl:操作群集的命令行工具。
1) Ubuntu
apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl
2) CentOS
cat <<EOF > /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 exclude=kube* EOF setenforce 0 yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes systemctl enable kubelet && systemctl start kubelet
5. CFSSL
CFSSL 是 CloudFlare开源的一款PKI/TLS工具。它既是命令行工具,也是用于签名、验证和捆绑TLS证书的HTTP API 服务器。
CFSSL包括: - 一组用于生成自定义 TLS PKI 的工具 - cfssl,即CFSSL的命令行工具 - multirootca 是可以使用多个签名密钥的证书颁发服务器 - kbundle 用于构建证书池 - cfssljson 从cfssl和multirootca中获取JSON输出,并将证书,密钥,CSR和bundle写入磁盘。
PKI 借助数字证书和公钥加密技术提供可信任的网络身份,通常,证书就是一个包含如下身份信息的文件: - 证书所有组织的信息 - 公钥 - 证书颁发组织的信息 - 证书颁发组织授予的权限,如:证书有效期、适用的主机名、用途等 - 使用证书颁发组织私钥创建的数字签名。
6. CFSSL的安装
由于运行环境不同,故使用Go命令进行编译安装,在安装之前请确保已安装1.8版本以上的Go命令行以及配置了环境变量GOPATH。
go get -u github.com/cloudflare/cfssl/cmd/...
Kubernetes 可以使用 Kubeadm + Ansible 的方式搭建,本文介绍 Ansible 概念和作用。 1. Ansible 是什么Ansible是个什么东西呢?官方 ...