YUM仓库在线简易安装单节点K8S(纯实战)
更新:HHH   时间:2023-1-7


使用YUM仓库在线简易安装单节点K8S

实验环境:

使用系统:centos7.4

名称 角色 IP地址
centos7-min2 master 192.168.142.220
centos7-4 node 192.168.142.136

实验实施步骤:

一、配置步骤目录

master端配置

node端配置

实验结果检查

二、master端配置

使用yum仓库安装atcd数据库、kubernetes组件、flannel网络组件

[root@master ~]# yum install -y etcd kubernetes flannel

修改etcd配置文件

[root@master ~]# vim /etc/etcd/etcd.conf
//按照下图进行修改
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"                      //数据文件存放路径
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"                   //对外提供服务的地址
ETCD_NAME="default"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"       //该节点客户端监听地址

修改apiserver配置文件

[root@master ~]# vim /etc/kubernetes/apiserver
//按照下图进行修改
KUBE_API_ADDRESS="--address=0.0.0.0"                //监听的接口
KUBE_API_PORT="--port=8080"                           //apiserver的监听端口
KUBELET_PORT="--kubelet-port=10250"                    //kubelet监听的端口
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"         //指定ETCD的服务地址、端口
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"                 //kubernetes可以分配的ip地址范围
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
KUBE_API_ARGS=""                     //需要额外添加的配置项,简单地启用一个集群无需配置

配置flannel网络

[root@localhost sysconfig]# vim /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://192.168.142.220:2379"          //填写本机地址
FLANNEL_ETCD_PREFIX="/coreos.com/network"

启动所有服务

[root@localhost sysconfig]# for server in etcd kube-apiserver kube-controller-manager kube-scheduler;do systemctl restart $server;systemctl enable $server;systemctl status $server;done
//这里使用的for循环进行批量启动,相信都能看懂

进行etcd数据库的设置

[root@localhost sysconfig]# etcdctl -C //192.168.142.220:2379 set /coreos.com/network/comfig '{"Network":"10.1.0.0/16"}'
三、node端配置

安装flannel、kubernetes组件

[root@node ~]# yum -y install flannel kubernetes

修改kubernetes配置文件

[root@node ~]# vim /etc/kubernetes/config
//按照下方进行修改
KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://192.168.142.220:8080"                    //指向master地址,端口为apiserver监听端口
KUBE_ETCD_SERVERS="--etcd_servers=http://192.168.142.220:2379"                  //指向etcd服务器地址

修改kubelet配置文件

[root@node ~]# vim /etc/kubernetes/kubelet
//按照如下进行修改
KUBELET_ADDRESS="--address=0.0.0.0"                     //监听全网段
KUBELET_PORT="--port=10250"               //端口保持不变
KUBELET_HOSTNAME="--hostname-override=192.168.142.136"                 //指自己
KUBELET_API_SERVER="--api-servers=http://192.168.142.220:8080"                  //指向master端
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

修改flannel网络配置

[root@node ~]# vim /etc/sysconfig/flanneld
FLANNEL_ETCD_ENDPOINTS="http://192.168.142.220:2379"            //指向主服务器
FLANNEL_ETCD_PREFIX="/coreos.com/network"

开启所有组件

[root@node ~]# for SERVICES in flanneld kube-proxy kubelet docker; do systemctl restart $SERVICES; systemctl enable $SERVICES; systemctl status $SERVICES; done
四、实验结果检查

返回master端

[root@master sysconfig]# kubectl get nodes
NAME             STATUS    AGE
192.168.142.136   Ready     34m

注意:

​ 使用YUM仓库在线安装K8S通常只适用于实验环境,容错性太差。

返回云计算教程...