Ubuntu 安装k8s集群

分享
源代码 2024-10-7 01:45:46 136 0 来自 中国
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
媒介

本文先容如安在ubuntu上摆设k8s集群,大抵可以分为如下几个步骤

  • 修改ubuntu设置
  • 安装docker
  • 安装kubeadm、kubectl以及kubelet
  • 设置master节点
  • 将slave节点加入网络
因为k8s分为管理节点和工作节点,以是我们将要 在master上摆设管理节点,在worker上摆设工作节点,master和worker节点信息如下
主机名:master,主机IP:192.168.56.11,版本:Ubuntu server 18.04,CPU:2核,内存:1G
主机名:worker,主机IP:192.168.56.21,版本:Ubuntu server 18.04,CPU:2核,内存:1G
一.修改 ubuntu 设置

起首,k8s 要求我们的 ubuntu 举行一些符合它要求的设置。很简单,包罗以下两步:关闭 Swap 内存 以及 设置免密登录,这一步两台主机都须要举行设置
关闭 swap 内存

实行如下命令关闭swap内存
swapoff -a设置免密登录

更新中
二.安装docker

docker 是 k8s 的底子,在安装完成之后也须要修改一些设置来适配 k8s ,以是我们分为 docker 的安装 与 docker 的设置 两部门。这一步两台主机都须要举行安装
docker 的安装

docker的安装再简单不外,实行下面命令举行安装
sudo apt install docker.io等安装完成之后使用docker --version来验证 docker是否可用
docker --versiondocker 的设置

kubernetes默认设置cgroup驱动(cgroupdriver)为"systemd",而docker服务的cgroup驱动默以为"cgroupfs",发起将其修改为"systemd",与kubernetes保持同等,可以通过修改docker的/etc/docker/daemon.js文件举行设置,如下结果
然后通过systemctl restart docker命令重启docker让设置见效
三.安装kubeadm、kubectl以及kubelet

安装完了 docker 就可以下载 k8s 的三个重要组件kubelet、kubeadm以及kubectl。这一步两台主机都须要举行安装。先来简单先容一下这三者

  • kubelet: k8s 的核心服务
  • kubeadm: 这个是用于快速安装 k8s 的一个集成工具,我们在master1和worker1上的 k8s 摆设都将使用它来完成。
  • kubectl: k8s 的命令行工具,摆设完成之后后续的使用都要用它来实行
实在这三个的下载很简单,直接用apt-get就好了,但是因为某些缘故起因,它们的下载地点不存在了。以是我们须要用国内的镜像站来下载,也很简单,依次实行下面五条命令即可
1.使得 apt 支持 ssl 传输
apt-get update && apt-get install -y apt-transport-https2.下载 gpg 密钥
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -3.添加 k8s 镜像源
cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial mainEOF4.更新源列表
apt-get update5.安装 kubectl,kubeadm以及 kubelet
apt-get install -y kubelet kubeadm kubectl直接在/etc/apt/sources.list里添加https://mirrors.aliyun.com/kubernetes/apt/ 是不可的,因为这个阿里镜像站使用的ssl举行传输的,以是要先安装apt-transport-https并下载镜像站的密钥才可以举行下载
6.运行systemctl start命令启动kubelet服务,并设置为开机自动启动
root@master01:/app# systemctl start kubeletroot@master01:/app# systemctl enable kubelet四. 设置master 节点

1.体系设置预查抄

在安装之前须要注意,kubeadm init 命令在实行详细的安装过程之前,会做一系列的体系预查抄,以确保主机环境符合安装要求,如果查抄失败,就直接制止,不在举行init使用。因此我们可以通过kubeadm init phase preflight命令实行预查抄使用,确保体系停当后再举行init使用,如果查抄结果提示我的CPU和内存小于最低要求。
2.准备镜像

为了加速kubeadm创建集群的过程,可以预先将全部镜像下载完成。可以通过kubeadm config images list命令检察所须要的镜像列表
root@master01:/app# kubeadm config images listk8s.gcr.io/kube-apiserver:v1.23.5k8s.gcr.io/kube-controller-manager:v1.23.5k8s.gcr.io/kube-scheduler:v1.23.5k8s.gcr.io/kube-proxy:v1.23.5k8s.gcr.io/pause:3.6k8s.gcr.io/etcd:3.5.1-0k8s.gcr.io/coredns/coredns:v1.8.6因为初始化master节点时,实行命令 kubeadm init 要下载k8s.gcr.io的docker镜像,但是国内连不上k8s.gcr.io,因此我们可以从阿里云先下载kubeadm须要的镜像,实行如下下载命令
root@master01:/app# kubeadm config images pull --image-repository=registry.aliyuncs.com/google_containers下载完成后,通过docker images就可以在当地检察到如下镜像
4.png 然后通过docker tag重定名上面的镜像,结果如下
root@master01:/app# docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.5 k8s.gcr.io/kube-apiserver:v1.23.53.设置master节点

准备工作完成后,就可以运行kubeadm init 命令设置master节点了
root@master01:/app# kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=192.168.0.0/16设置项阐明:
--apiserver-advertise-address k8s 中服务apiserver的摆设地点,如果不填写,默认是本机
--image-repository 拉取的 docker 镜像源,因为初始化的时间kubeadm会去拉 k8s 的许多组件来举行摆设,以是须要指定国内镜像源,下否则会拉取不到镜像
--pod-network-cidr k8s 接纳的节点网络,因为我们将要使用flannel作为 k8s 的网络,以是这里填192.168.0.0/16就好
--kubernetes-version: 这个是用来指定你要摆设的 k8s 版本的,一样寻常不消填,不外如果初始化过程中出现了因为版本不对导致的安装错误的话,可以用这个参数手动指定
安装成功后,可看到如下的提示信息
Your Kubernetes control-plane has initialized successfully!To start using your cluster, you need to run the following as a regular user:  mkdir -p $HOME/.kube  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  sudo chown $(id -u)(id -g) $HOME/.kube/configAlternatively, if you are the root user, you can run:  export KUBECONFIG=/etc/kubernetes/admin.confYou should now deploy a pod network to the cluster.Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:  https://kubernetes.io/docs/concepts/cluster-administration/addons/Then you can join any number of worker nodes by running the following on each as root:kubeadm join 192.168.130.239:6443 --token 6k1i68.aml4dfgyfqwcezkp \    --discovery-token-ca-cert-hash sha256:85eedec31c61177648373d4c7a8a547aa0e0a0816fe91601a99352c84d9545f04.设置 kubectl 工具

由于kubeadm默认使用CA证书,以是须要为kubectl设置证书才气访问master.
安装安装成功的提示,非root用户可以将admin.conf设置文件复制到HOME目次的.kube子目次下,命令如下:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u)(id -g) $HOME/.kube/config如果是root用户,也可以通过设置环境变量KUBECONFIG完成kubectl的设置
export KUBECONFIG=/etc/kubernetes/admin.conf设置完成后,可以使用kubectl命令行工具对kubernetes集群举行访问和使用了
# 检察已加入的节点kubectl get nodes# 检察集群状态kubectl get cs原文链接:https://blog.csdn.net/kity9420/article/details/123674582
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 16:08, Processed in 0.194785 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表