docker + K8S + Rancher + Harbor的安装

news2024/9/24 8:22:58

docker + K8S + Rancher + Harbor的安装

1. 系统初始化

  • 关闭防火墙

    systemctl stop firewalld
    
  • 禁用防火墙开机自启

    systemctl disable firewalld
    
  • 永久-关闭selinux

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    # 重启
    reboot
    
  • 关闭swap分区

    # 永久
    sed -ri 's/.*swap.*/#&/' /etc/fstab
    # 重启
    reboot
    
  • 设置主机名

    #每台服务器设置
    hostnamectl set-hostname <hostname>
    
  • 在节点上添加hosts

    cat >> /etc/hosts << EOF
    192.168.210.1 k8s-master
    192.168.210.2 k8s-node1
    192.168.210.3 k8s-node2
    EOF
    
  • 将桥接的IPv4流量传递到iptables的链

    cat > /etc/sysctl.d/k8s.conf << EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    net.ipv4.ip_forward = 1
    vm.swappiness = 0
    EOF
    
    # 加载br_netfilter模块
    modprobe br_netfilter
    
    # 查看是否加载
    lsmod | grep br_netfilter
    
    # 生效
    sysctl --system 
    
  • 时间同步

    #在每个节点添加时间同步
    yum install ntpdate -y
    
    ntpdate time.windows.com
    
  • 开启ipvs

    #在每个节点执行
    yum -y install ipset ipvsadm
    
    #在所有节点执行如下脚本
    cat > /etc/sysconfig/modules/ipvs.modules <<EOF
    #!/bin/bash
    modprobe -- ip_vs
    modprobe -- ip_vs_rr
    modprobe -- ip_vs_wrr
    modprobe -- ip_vs_sh
    modprobe -- nf_conntrack_ipv4
    EOF
    
    #授权、运行、检查是否加载
    chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
    
    #检查是否加载
    lsmod | grep -e ipvs -e nf_conntrack_ipv4
    

2 . Docker和K8S安装

  • 安装Docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum -y install docker-ce-18.06.3.ce-3.el7

systemctl enable docker && systemctl start docker

docker version
  • 设置镜像加速
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "exec-opts": ["native.cgroupdriver=systemd"],	
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker
  • 添加阿里云的YUM软件源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
  • 安装kubeadm、kubelet和kubectl
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

vim /etc/sysconfig/kubelet

# 修改
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

systemctl enable kubelet
  • 部署k8s的Master节点
kubeadm init \
  --apiserver-advertise-address=<master IP> \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16

在初始化的过程中,如果master IP是公网IP,可能会卡住,在卡住的过程中,重新启用一个客户端,把在这个文件设置为0.0.0.0。

vim /etc/kubernetes/manifests/etcd.yaml

把–listen-client-urls和–listen-peer-urls的127.0.0.1改为0.0.0.0

- --listen-client-urls=https://0.0.0.0:2379
- --listen-metrics-urls=http://127.0.0.1:2381
- --listen-peer-urls=https://0.0.0.0:2380

根据提示信息,使用kubectl:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 添加k8s的Node节点
# 向k8s集群中添加Node节点
kubeadm join <master ip>:6443 --token 4016im.eg4e10yamcbxjm59 \
    --discovery-token-ca-cert-hash sha256:ce2111ce594e5189255144a72268250e5eedda87470cc3a1f69f8c973927699e

默认的token有效期为24小时,当过期之后,这时可以使用如下的命令创建token:

kubeadm token create --print-join-command

# 生成一个永不过期的token
kubeadm token create --ttl 0
  • 部署CNI网络插件。

    根据kubectl get nodes查看nodes状态。如果没有装CNI插件,节点会是NotReady状态。

#在Master节点部署CNI网络插件(可能会失败,如果失败,请下载到本地,然后安装):
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl apply -f kube-flannel.yml

#查看部署CNI网络插件进度
kubectl get pods -n kube-system
  • 查看集群健康状态:
kubectl get cs

kubectl cluster-info

3. Rancher和Harbor安装

网上下载docker-compose和harbor安装包。

  • 安装docker-compose:
# 赋权限,并剪切到/usr/local/sbin/docker-compose目录
chmod +x docker-compose-linux-x86_64 
mv docker-compose-linux-x86_64 /usr/local/sbin/docker-compose
  • harbor安装

    #解压:
    tar zxf harbor-offline-installer-v2.4.1.tgz
    
    #copy并修改配置文件:
    cp harbor.yml.tmpl harbor.yml
    
    #主要修改 hostname ip, Port
    
    #执行脚本
    ./install.sh
    

    配置开机自启

    /usr/local/sbin/docker-compose -f /data/software/harbor/docker-compose.yml up -d
    

    设置权限:

    chmod +x /etc/rc.local /etc/rc.d/rc.local
    

    安装完毕。

  • 配置每台节点,Docker harbor镜像库

​ 配置文件的默认路径:/etc/docker/daemon.json

"insecure-registries": ["ip:port"] 
  • 安装rancher

    拉起rancher 2.7.2镜像。

    docker run -d --privileged=true --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:v2.7.2
    
  • 导入已有集群。

    找到目录集群管理,点击导入已有集群按钮。选择通用。

    image-20230423153159795

​ 根据提示在master执行提示的命令。等待即可。中间可以用下面命令查看是否启动Ok。

kubectl get pods -n cattle-system

image-20230423153134877

  • 部署测试应用(截图)。

    在这里插入图片描述
    在这里插入图片描述

配置Harbor 账号密码:

image-20230423153851783
引用文章出处:
https://www.cnblogs.com/xuweiweiwoaini/p/13884112.html
https://zhuanlan.zhihu.com/p/410371256

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/452480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重启电脑数据丢失怎么恢复?这篇指南很受用!

案例分享&#xff1a;“你好&#xff0c;我重新启动了我的win10电脑&#xff0c;电脑为什么再次开机后&#xff0c;下载的软件就不见了&#xff1f;不仅如此&#xff0c;我的文档也消失不见了&#xff0c;这令我很困惑。请问重启电脑数据丢失怎么恢复&#xff1f;请大家帮帮我&…

系统分析师考试,信息安全常错题

计算机网络---其他 Stub区域是一种比较特殊的区域&#xff0c;因为它不能像其他区域那样&#xff0c;经过该区域中的ABR接收其他OSPF AS路由。在Stub区域的内部路由器仅需要配置一条到达该区域ABR的默认路由&#xff08;0.0.0.0.0.0.0.0&#xff09;来实现与同一AS中不同区域间…

CloudCompare插件开发之如何设计界面ui与功能实现?

文章目录 0.引言1.使用文件说明2.添加界面ui相关文件到插件目录3.修改工程相关文件并生成4.结果展示 0.引言 CloudCompare源代码编译成功后&#xff0c;即可进行二次开发&#xff0c;可通过修改源码实现二次开发基础功能&#xff08;见&#xff1a;CloudCompare如何进行二次开发…

#mysql binlog 备份恢复数据流程#

模式&#xff1a;mysql全量备份binlog日志完整恢复数据 首先&#xff0c;数据库在误操作之前必须已经开启了binlog日志功能&#xff0c;且binlog日志的保存周期必须大于全备份的时间周期&#xff01; 所谓恢复&#xff0c;就是让将全备份的数据全部恢复后&#xff0c;再使用my…

HTB-Time

HTB-Time 信息收集80端口 立足pericles -> root 信息收集 80端口 有两个功能&#xff0c;一个是美化JSON数据。 一个是验证JSON&#xff0c;并且输入{“abc”:“abc”}之类的会出现报错。 Validation failed: Unhandled Java exception: com.fasterxml.jackson.core.JsonPa…

当⻉借⼒阿⾥云落地云原⽣架构转型,运维降本、效率稳定性双升

作者&#xff1a;当贝技术团队 随着业务飞速发展&#xff0c;当贝的传统 IT 资产也渐显臃肿&#xff0c;为了避免制约发展的瓶颈&#xff0c;痛定思痛&#xff0c;技术团队果断变革&#xff1a;核心业务云原生化之后&#xff0c;运维效率、整体稳定性和研发效率均得到了全面提…

网络基础知识

网络基础知识 一、什么是二层互通与三层互通&#xff1f;1.1 二层网络互通1.2 三层网络互通 二、什么是Overlay网络&#xff1f;2.1 Underlay网络2.2 Overlay网络2.3 Underlay网络 vs Overlay网络 三、什么是SNMP&#xff1f;3.1 SNMP概念3.2 为什么需要SNMP&#xff1f;3.3 SN…

基于ubuntu18.04.6 LTS服务器安装nvidia驱动

1对于一个刚刚配置的服务器&#xff0c;首先nvidia-smi&#xff0c;自然无法显示Driver Version、最高cuda版本等信息。 nvidia-smi: command not found 需要我们自己安装nvidia驱动 2禁用老驱动 禁用自带nouveau驱动 sudo vim /etc/modprobe.d/blacklist.conf 打开后在CONF文…

本地配置nacos例子

nacos的加载顺序 0、application.properties 1、bootstrap.properties 2、bootstrap-{profile}.properties #本地启动 nacos的配置文件的生成规则&#xff0c;当我正常启动项目时 nacos的配置文件名字生成规则为 ${spring.application.name}.yaml spring:application:name…

面试redis之两大金刚,你懂吗

前言 Redis持久化&#xff0c;一个老掉牙的问题&#xff0c;但是面试官就是喜欢问。这也是我们学Redis必会的一个知识点。Redis作为内存数据库&#xff0c;它工作时&#xff0c;数据都保存在内存里&#xff0c;这也是它为什么很快的一个原因。但存到内存里肯定是有丢数据的风险…

为什么我们能判断声音的远近

想象一下&#xff0c;当我们走在路上时&#xff0c;听到了头顶的鸟儿在树梢间的叫声&#xff0c;即使无法透过浓密的树叶看见它&#xff0c;也可以大致知道鸟儿的距离。此时身后传来由远到近自行车铃铛声&#xff0c;我们并不需要回过头去看&#xff0c;便为它让开了道路。这些…

查找文件路径——whereis、which、locate、find命令

目录标题 whereis命令——通过环境变量查找所有文件&#xff08;包括可执行文件&#xff09;which命令——查找系统命令文件与whereis命令区别 locate命令——全局搜索find命令&#xff08;全盘搜索&#xff09;find命令中的参数及作用按照文件名搜索按照文件大小搜索按照修改时…

离散数学-考纲版-02-谓词

文章目录 2. 谓词参考2.1 命题2.1 个体谓词和量词2.1.1 个体2.1.2 谓词2.1.3 量词引入个体域符号化量词真值确定谓词符号化举例示例一示例二示例三示例四 2.3谓词合式公式2.3.1 四类符号2.3.2 项2.3.3 合式公式 2.4 自由变元与约束变元2.4.1 定义2.4.2 判定2.4.3 两个规则2.4.4…

【京东】商品详情页+商品列表数据采集

作为国内最大的电商平台之一&#xff0c;京东数据采集具有多个维度。 有人需要采集商品信息&#xff0c;包括品类、品牌、产品名、价格、销量等字段&#xff0c;以了解商品销售状况、热门商品属性&#xff0c;进行市场扩大和重要决策&#xff1b; 有人需要采集产品评论&…

Android OpenGL 渲染相机预览画面显示体系

OpenGL能进行高效得渲染图形图像&#xff0c;并支持各种复杂的特效和动画。 而在 Android 当中&#xff0c;运用的是OpenGL ES&#xff0c;它是OpenGL的一个轻量级版本&#xff0c;专门用于在移动设备、游戏控制台、嵌入式系统等嵌入式环境中使用。 它可以做相机滤镜或者图片…

基于html+css的图片展示31

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

yield用法理解,配有代码块和解析

包含 yield 关键字的函数&#xff0c;是一个生成器 yield和return的区别 1、return是返回return关键字的值&#xff0c;被调用一次就返回一次&#xff0c;return只能放在一个函数代码块的最后面&#xff0c;运行到return的时候&#xff0c;就结束循环&#xff0c;结束这个函数…

IO、存储、硬盘、文件系统相关常识

目录 IO 文件系统 存储 存储这些数据的硬盘 IO io分为io设备和io接口, 我们日常生活中的打印机, 固态硬盘等都是io设备. IO&#xff08;Input-Output&#xff09;是指计算机中输入输出的相关操作&#xff0c;包括数据的读取、存储、传输和显示等。存储是指将数据保存在计算…

美国肝素钠专用树脂,医药肝素钠提取工艺专用树脂

具有控制孔径的大孔强碱性Ⅰ型阴离子交换树脂 Tulsimer A-72 MP 是一款具有便于颜色和有机物去除的控制孔径的&#xff0c;专门开发的大孔强碱性Ⅰ型阴离子交换树脂。 Tulsimer A-72 MP专门应用于去除COD以及其他有机物等。 Tulsimer A-72 MP 由于其本身的大孔特性而显示出…

电巢携手中国自动化学会:计算机能有感情史了

4月22日&#xff0c;为了促进模式识别、数据挖掘和计算机视觉等相关领域从业者进一步了解领域内最新发展动态与前沿技术进展&#xff0c;由中国自动化学会主办&#xff0c;中国自动化学会模式识别与机器智能&#xff08;CAA-PRMI&#xff09;专委会、中国计算机学会&#xff08…