K8s安装

 

Master本身也要安装docker的容器,所以既作为master,也作为node

更改主机名

hostnamectl set-hostname server1

hostnamectl set-hostname server2

hostnamectl set-hostname server3

bash

 

Master安装服务 etcd api-server controlor-manager scheduler kubelet kube-proxy

  1. 主机名和防火墙配置

三台相同

[root@server1 ~]# iptables -F

[root@server1 ~]# iptables-save  #保存ipstble规则并开机自动加载

[root@server1 ~]# systemctl stop firewalld.service && systemctl disable firewalld.service

 

server1

[root@server1 ~]# vim /etc/hosts   主机解析

192.168.1.10 server1

192.168.1.20 server2

192.168.1.30 server3

 

 

  1. 上传公钥

ssh-keygen      #获取公钥

ssh-copy-id -i root@server2      #公钥上传

ssh-copy-id -i root@server3

-i:指定公钥文件把本地的ssh公钥文件安装到远程主机对应的账户下

  1. server1安装etcd服务

yum -y install etcd

 

 

  1. 配置etcd

vim /etc/etcd/etcd.conf

 

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"   #数据存放在那个目录

 

ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"   #监听的一个地址,0.0.0.0表示所有的,本地访问的话是127.0.0.1

 

ETCD_NAME="default"   #节点名字,配置集群的话这里的名字必须不一样

 

TCD_ADVERTISE_CLIENT_URLS="http://192.168.1.10:2379"   #配置集群的ip地址,我们没有配置就本机ip

 

启动etcd

systemctl start etcd   #启动etcd

systemctl enable etcd   #设置开机自启

netstat -lutup   #查看端口,起来的话就监听,

-l:显示监控中的服务器的网络

-u:显示udp传输协议的连接情况

-tup:显示tcp的传输协议的连接情况

 

由于我们设置的,所以监听的是本机的2380和任务网段的23792379是对外提供服务使用的,往etcd写数据就使用这个端口,etcd集群之间相互同步用的2380

 

 

  1. 安装master节点

yum -y install kubernetes-master.x86_64

 

 

  1. 从之前我们知道了,master上有4个服务,所以我们需要去配置一下

vim /etc/kubernetes/apiserver

 

首先配置api-server

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"  #默认是127.0.0.1,我们要想用客户端访问就需要0.0.0.0

 

开启api-server的端口

KUBE_API_PORT="--port=8080"

 

 

配置minions,节点的端口

KUBELET_PORT="--kubelet-port=10250"

 

 

连接etce

KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.1.10:2379"

 

 

  1. 配置controller-managerscheduler的配置文件

vim /etc/kubernetes/config

 

KUBE_MASTER="--master=http://192.168.1.10:8080"   #controller-manager, scheduler, proxy  来找到api-server的地址,api-server在哪台主机,哪台就是master

 

 

  1. 启动服务

首先启动api-server

systemctl start kube-apiserver.service

 

启动controller-manager

systemctl start kube-controller-manager.service

 

启动scheduler

systemctl start kube-scheduler.service

 

 

  1. 设置开机自动加载,防止自动关闭

systemctl enable kube-apiserver.service

systemctl enable kube-scheduler.service

systemctl enable kube-controller-manager.service

 

 

  1. 查看状态

kubectl get componentstatus

 

 

 

Node节点安装

  1. 安装node节点,安装的时候会默认帮我们安装上docker,都安装

 yum -y install kubernetes-node.x86_64

 

  1. 先在master配置node服务

vim /etc/kubernetes/config    #master之前配置过,所以不需要配置

 

 

vim /etc/kubernetes/kubelet    #配置kubelet配置文件

 

KUBELET_ADDRESS="--address=192.168.1.10"   #配置kubelet的监听地址

 

 

UBELET_PORT="--port=10250"   #端口10250

 

 

KUBELET_HOSTNAME="--hostname-override=server1"   #当我们有多个节点的时候,每个节点都需要给他添加上一个标签,这样master命令的时候就只要一个节点回应,可以用ip地址来区别,也可以用不同主机名来区分

 

KUBELET_API_SERVER="--api-servers=http://192.168.1.10:8080"   #连接api-server

 

 

  1. 启动kubelet服务,启动kubelet自动启动docker

systemctl status docker

 

 

systemctl start kubelet.service   #启动kubelet

systemctl status docker   #发现启动docker服务

 

 

systemctl enable kubelet.service    #设置kubelet开机自启

 

 

systemctl start kube-proxy.service   #启动proxy服务

systemctl enable kube-proxy.service    #开机自启

 

 

kubectl get nodes   #查看注册节点,启动kubelet的时候,就自动注册进来了

 

 

  1. server2上修改配置文件

vim /etc/kubernetes/config

 

KUBE_MASTER="--master=http://192.168.1.10:8080"    #主要是给kube-proxy用的

 

 

  1. 继续修改server2另一个配置文件

vim /etc/kubernetes/kubelet

 

KUBELET_ADDRESS="--address=192.168.1.20"   #本机的IP

 

KUBELET_PORT="--port=10250"   #打开10250监听端口

 

KUBELET_HOSTNAME="--hostname-override=server2"   #修改主机标签

 

UBELET_API_SERVER="--api-servers=http://192.168.1.10:8080"   #指定api-server的地址

 

 

  1. 开启服务

systemctl start kubelet.service    #开启kubelet服务

systemctl enable kubelet.service  #设置开机自启

systemctl start kube-proxy.service  #开启kube-proxy服务

systemctl enable kube-proxy.service   #设置开机自启

 

 

  1. master节点查看

kubectl get nodes   #查看node节点

 

 

 

posted @ 2022-05-23 20:41  等待1248  阅读(40)  评论(0)    收藏  举报