首页 > 系统相关 >离线Linux部署k8s集群环境

离线Linux部署k8s集群环境

时间:2023-07-30 17:46:22浏览次数:42  
标签:-- 离线 192.168 etc Linux 033 docker k8s

***********离线部署安装k8s集群环境***********
1.机器配置
master 192.168.245.201 4核4g
node1 192.168.245.202 4核4g
node2 192.168.245.203 4核4g

系统内核:3.10.0-957.el7.x86_64

2.添加颜色
echo "PS1='\[\033[35m\][\[\033[00m\]\[\033[31m\]\u\[\033[33m\]\[\033[33m\]@\[\033[03m\]\[\033[35m\]\h\[\033[00m\] \[\033[5;32m\]\w\[\033[00m\]\[\033[35m\]]\[\033[00m\]\[\033[5;31m\]\\$\[\033[00m\] '" >> ~/.bashrc && source ~/.bashrc

3.设置主机名:
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

4.添加hosts解析:
cat >> /etc/hosts << EOF
192.168.245.201 master
192.168.245.202 node1
192.168.245.203 node2
EOF

5.永久关闭seLinux(需重启系统生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

6.永久关闭swap(需重启系统生效)
sed -i 's/.*swap.*/#&/g' /etc/fstab # 永久关闭

7.服务器时间同步
timedatectl set-timezone Asia/Shanghai

8.网桥设置
echo -e “net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1” >> /etc/sysctl.d/k8s.conf
sysctl --system #使其生效

 

9.部署docker(3台操作相同)

9.1解压安装docker
tar -zxvf docker-ce-18.09.tar.gz

cd docker && yum localinstall *.rpm -y #yum安装相关依赖

9.2启动docker
systemctl start docker
systemctl enable docker #开机启动
docker version

9.3docker加速器

vim /etc/docker/daemon.json #添加

{
“registry-mirrors”: [“https://fskvstob.mirror.aliyuncs.com/”]
}

systemctl daemon-reload #重新加载

10.部署k8s集群

10.1解压安装k8s
cd …/
tar -zxvf kube114-rpm.tar.gz
cd kube114-rpm && yum localinstall *.rpm -y #yum解决依赖

10.2导入k8s镜像
cd …/
docker load -i k8s-114-images.tar.gz
docker load -i flannel-dashboard.tar.gz

 

10.3查看k8s镜像 --只在master上操作
docker images #共9个镜像

10.4maseter初始化
kubeadm init --kubernetes-version=v1.14.1 --pod-network-cidr=10.244.0.0/16

说明:

kubeadm join 192.168.245.201:6443 --token uyq50w.tq7eetftqojmru7u \
--discovery-token-ca-cert-hash sha256:fabb34d941cc47ed9e9fbecfea7cb6763d85305b97891ac43d1fd8e473fb2420

10.5查看节点
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubectl get node
kubectl get pod --all-namespaces

10.6配置KUBECONFIG变量
echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> /etc/profile
source /etc/profile
echo $KUBECONFIG #应该返回/etc/kubernetes/admin.conf

10.7部署flannel网络 --在node节点操作
kubectl create -f kube-flannel.yml
kubectl get node


10.8kubeadm join 加入node节点
systemctl enable kubelet #添加开机启动k8s
kubeadm join 192.168.0.110:6443 --token 2vjmyw.9p6cbn8m8oqs41ta
–discovery-token-ca-cert-hash sha256:e4c1d3e9da26e2f488dec621122a30d8725762c20bf281519376ed0ae8c7204b #不要复制这个,要拷贝系统生成的token才行!


10.9在master上面查看
kubectl get node

10.10部署k8s UI界面(dashboard), 只在master上面
kubectl apply -f kubernetes-dashboard.yaml
kubectl apply -f admin-role.yaml
kubectl apply -f kubernetes-dashboard-admin.rbac.yaml
kubectl -n kube-system get svc


11网页验证
访问地址 :?http://ip:32000

 

标签:--,离线,192.168,etc,Linux,033,docker,k8s
From: https://www.cnblogs.com/weixj/p/17591743.html

相关文章

  • Linux进程和计划任务
    一、程序1.1什么是程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。用于描述进程要完成的功能,是控制进程执行的指令集。保存在硬盘、光盘等介质中的可执行代码和数据。静态保存的代码。二、进程2.1什么是程序运行中的程序的一个副......
  • [linux]VIM实用技巧
    一、文本对象1.文本对象文本对象:基于结构定义的文本区域文本对象字符由两个字符组成,第一个字符永远是a/ii开头的文本对象会选择分隔符内部的文本a开头的文本对象会选择分隔符在内的整个文本即:i不包含边界,a包含边界注:1.文本对象可结合可视模式使用(v—可视字符)2.文本对象可结......
  • Linux防火墙iptables基础详解
    一、前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目......
  • 【技术积累】Linux中的命令行【理论篇】【一】
    7z命令命令介绍7z命令是Linux系统中的一个压缩和解压缩工具,它可以用来创建、压缩和解压缩7z格式的文件。7z是一种高压缩率的文件格式,通常比其他常见的压缩格式(如zip和gzip)具有更高的压缩率。命令安装在Linux中输入以下命令安装7-Zip。#Ubuntu系统apt-getupdateapt-g......
  • Linux命令(55)之free
    Linux命令之free1.free介绍linux命令free被用来查看系统内存使用情况2.free用法free[参数]free常用参数参数说明-b以Byte显示系统内存使用情况-k以KB显示系统内存使用情况-m以MB显示系统内存使用情况(常用)-g以GB显示系统内存使用情况(常用)-snseconds每隔3秒显示系统内存使用......
  • Linux TCP Socket实现进程间通信
    LinuxSocket由内核实现。服务端初始化Socket->绑定地址和端口->监听端口->accept阻塞等待客户端连接->处理请求并响应客户端初始化Socket->连接服务端->发送请求->读取数据->关闭连接common.h#include<stdio.h>#include<stdlib.h>#include<string.h>#include<errno.h>......
  • linux命令-tar 打包压缩命令
    tar命令用于文件的打包或压缩,是最为常用的打包压缩命令,其语法格式如下:tar[选项]文件名.tar.gz源文件常用指令:tar-czvfxxx.tar.gz source_file(tar-czvf包名.tar.gz 源文件)    #以tar.gz方式打包并gz方式压缩tar-xzvfxxx.tar.gz-Cpath(tar-xzvfx......
  • Linux磁盘引导,备份修复MBR扇区,备份修复GEUB扇区,修改root密码
    一、Linux磁盘引导Linux启动过程1.1开机自检服务器主机开机以后,将根据主板BIOSQ中的设置对CPU(CentralProcessingUnit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权人多时候会移交给本机硬盘1.2.MBR引导当从本机硬盘中......
  • Linux命令uuidgen是什么意思?
     Linux命令uuidgen用于生成一个128位的唯一标识符(UUID,UniversallyUniqueIdentifier),其基于时间戳和MAC地址等信息生成,用于标识不同的文件、对象等。可以用于创建唯一的文件名、数据库记录等。命令语法: uuidgen[OPTIONS]OPTIONS为可选参数,常用的参数有:–-r,–random:基......
  • linux 编译内核,换内核流程和方法
      1:先找一个合适版本的内核,下载,解压到系统中的任意一个目录TheLinuxKernelArchives这个内核版本,如果要绝对稳定或者安全,那么最好是和当前系统的内核大、中版本相同,如,我的系统版本如果为5.15.38那么我最好是换成相近的系列,如5.15.123尽量别上6否则可能出问题假......