SERVICE PHONE

13920192029
NEWS 新闻资讯
你的位置: 首页 > 新闻资讯
单机安装k8s(1.22.1) 学习环境

发布时间:2024-11-22 23:54:06  点击量:

  允许打开iptables桥接流量

  关闭linux 防火墙

  因为对学习环境主机的端口开放不用太关注。如果是生产环境,主机端口是需要按需开放的。关闭swap

  安装可以选择docker,也可以是containerd安装docker

  安装好之后查看docker 版本:

  安装docker 版本配置yum 仓库源,kubernetes官网提供的源,仓库地址无法访问,如下(如果网络没问题也可以使用)

  国内可以使用如下配置替代官网提供的仓库:

  配置好仓库源之后,进行安装:

  

  kubeadm 版本

  安装前准备,提前准备k8s 组件镜像,由于网络问题,不能直接访问gcr.io,需要绕道。

  首先通过 kubeadm images list 查看安装依赖的镜像包版本

  kubernetes 依赖版本

  以下由笔者整理在dockerhub上的镜像资源,可以直接使用

  在dockerhub上可以找到大牛上传好的镜像,不过不同的仓库版本不是很全,所以这里统一做了梳理。可以在dockerhub上看到以下镜像的mount 源

  开始安装

  准备好镜像依赖之后执行:

  解释:

  --apiserver-advertise-address 指定

  --image-repository 指定

  --kubernetes-version 指定

  --service-cidr 指定service 网络平面,创建service之后,ClusterIP 的cidr范围

  --pod-network-cidr 设置pod 网络平面,即设置k8s pod(容器)内的IP范围安装日志

  使用kubectl,配置默认的Role

  此时node节点处于NotReady状态,可以通过 jourato -xeu kubelet查看kubelet日志

  节点not ready 原因

  提示没有可用的cni插件,下一步安装cni插件,选择flannel。(也可以使用calico)准备网络插件:

  

  部署flannel 插件

  部署好之后,查看集群状态,发现所有组件全部running了。

  集群状态

  例子部署一个postgresql数据库:

  准备部署文件:

  因为学习环境,只有一个解节点(master和node共用),因此在部署应用时会报错:

  default-scheduler 0/1 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate.

  这是因为k8s默认不允许在master节点部署。这也是为了保证一定的可靠性。在学习环境中,可以通过以下命令,解除这种限制:

  之后就看到postgresql 安装完成了,可以使用:

  postgresql 使用

  当然还可以部署Service,使用NodePort类型,提供给节点外部使用。

  一个使用IDE形式的k8s 界面,安装和使用非常方便,只需要在官网下载 https://k8slens.dev/ 打开就可使用。支持windows、mac、linux使用方法

  打开Lens 如下界面

  

  Lens 添加cluster界面

  拷贝~/.kube/config 文本,粘贴在Lens ,如下图:

  添加k8s集群

  添加之后就可以操作k8s集群了。

  Lens 操作界面

  Lens支持很多功能,具体可以动手试试。

地址:广东省广州市金年会孵化园区  电话:020-66889888 手机:13920192029
Copyright © 2019-2029 金年会网站 版权所有 ICP备案编:粤ICP备201920239号