搭建前环境准备

配置虚拟机

详细的配置流程比较简单,这里就直接放配置完成的设置,处理器是4个单核,内存是8G,硬盘空间是60G,重点是网络适配器选择NAT模式
另外这里的镜像是选择的BC-linux,基于Centos下的,版本是7.6的,下载链接如下:
https://mirrors.cmecloud.cn/bclinux/isos/
在这里插入图片描述
配置完成后启动虚拟机,完成系统安装,流程比较简单,和centos的安装类似。
登录进入虚机内:
在这里插入图片描述

配置网络环境

ping了一下自己的物理机的ip地址发现不通,这个时候需要修改一下网络配置,通过ifconfig命令查找到自己的虚拟网卡名称,这里是ens33。通过下面的命令进入网络配置文件进行配置。

vim  /etc/sysconfig/network-scripts/ifcfg-ens32

针对BC-linux主要修改了ONBOOT = yes 并添加DNS1=8.8.8.8 用于域名解析。这边由于是单机版部署学习使用,图省事就讲BOOTPROTO保持dhcp获取,如果是实际工程或者需要搭建集群,还是建议配置静态的IP地址。
在这里插入图片描述
修改完成后保存。此时需要通过以下命令重启网络服务,从而生效。

systemctl restart network

可以看到通过添加了域名解析,可以去访问百度等网址。
在这里插入图片描述
此时,虚拟的配置就完成了。

安装配置ssh远程登录

这一部分的操作,主要配置还是以虚机为主,主要是后期可以借助ssh进行登录,更容易管理。

yum install -y openssl openssh-server

这里如果系统是BC-linux 7.6 可能会报以下错误。
在这里插入图片描述
解决方法如下:

rpm -qa | grep license
此时会出现两个名称,选择bclinux-license-manager即可,对应以下的命令:
rpm -e --nodeps bclinux-license-manager-2.0-3.el7.bclinux.x86_64 --noscripts

在这里插入图片描述
完成后,在执行yum install -y openssl openssh-server 命令即可。

远程ssh登录Access denied 错误解决方案

安装完成后通过ssh登录可能会出现Access denied错误
需要关闭Selinux
通过 sudo getenforce查看selinux是否开启,如果是Enforcing则需要修改成Disabled

sudo vim /etc/selinux/config 

在这里插入图片描述
完成以上修改需要重启虚机生效。

本地部署单机版K8S

系统自带的关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

进行yum的更新

yum update

配置kubenetes 源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[Kubernetes]
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装 etcd kubenetes

yum install -y etcd kubernetes

修改配置文件1:

vim /etc/sysconfig/docker

将OPTIONS等于号后面的内容修改成如下:

OPTIONS='--selinux-enabled=false --insecure-registry gcr.io'

修改配置文件2:

vim /etc/kubernetes/apiserver

将KUBE_ADMISSION_CONTROL等于号后的内容修改如下:(去掉ServiceAccount)

KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,
 LimitRanger,SecurityContextDeny,ResourceQuota"

按顺序启动并设置成开机启动:

systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

systemctl enable etcd
systemctl enable docker
systemctl enable kube-apiserver
systemctl enable kube-controller-manager
systemctl enable kube-scheduler
systemctl enable kubelet
systemctl enable kube-proxy

通过以下三条命令来验证 kubectl version 显示是否安装成功

ps -ef | grep kube

kubectl version

etcdctl cluster-health

如果出现以下信息则表示成功!
在这里插入图片描述
最后感谢风水道人大佬关于K8S单机版部署的分享,本文涉及K8s部署的流程均参考其帖子,大佬是在centos7上完成部署,本文是在BC-linux完成,总体的过程基本一致,详情可移至大佬帖链接https://blog.csdn.net/jcmj123456/article/details/116504294

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐