k8s(4)

news2025/1/18 11:49:26

目录

负载均衡部署

做初始化操作:

每台主机添加域名

从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点:

修改02配置文件kube-apiserver,kube-controller-manager,kube-scheduler中的IP:

在 master02 节点上启动各服务并设置开机自启:

由于我们之前定义了负载均衡器和vip地址,直接开启50,60主机:

给负载均衡器做好初始化操作:

修改nginx配置文件,配置四层反向代理负载均衡,指定k8s群集2台master的节点ip和6443端口:

部署keepalived服务:

添加检查nginx存活的脚本:

修改keepalived配置文件:

在进行添加一个周期性执行的脚本配置:

启动keepalived:

修改所有node节点上的bootstrap.kubeconfig,kubelet.kubeconfig,kube-proxy.kubeconfig配置文件为VIP:

修改master01./kube下的config文件的ip:

将master节点的kube-controller-manager.kubeconig,kube-scheduler.kubeconfig文件的ip指向本机ip:


负载均衡部署

准备master02:192.168.233.20

master尽量三个以上,方便组件选择主及集群的高可用。部署操作都是一样。

做初始化操作:

systemctl stop firewalld
systemctl disable firewalld

setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab 

hostnamectl set-hostname master02

每台主机添加域名

cat >> /etc/hosts << EOF
192.168.233.10 master01

192.168.233.20 master02
192.168.233.30 node01
192.168.233.40 node02
EOF

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv6.conf.all.disable_ipv6=1
net.ipv4.ip_forward=1
EOF

sysctl --system

yum install ntpdate -y
ntpdate time.windows.com

master节点添加计划任务:

*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com &> /dev/null

从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点:

scp -r kubernetes/ etcd/ master02:/opt/

查看master02:

删除日志:

 scp -r  .kube/ master02:/root

查看并将目录删除:

将服务文件复制:

cd /usr/lib/systemd/system
ls kube*

scp kube-* master02:`pwd`

查看02:

修改02配置文件kube-apiserver,kube-controller-manager,kube-scheduler中的IP:

cd /opt/kubernetes/cfg

vim kube-apiserver

vim kube-controller-manager

vim kube-scheduler

在 master02 节点上启动各服务并设置开机自启:

systemctl start kube-apiserver.service
systemctl enable --now kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl enable --now kube-controller-manager.service
systemctl start kube-scheduler.service
systemctl enable --now kube-scheduler.service

查看状态:

systemctl status kube-apiserver.service kube-controller-manager.service kube-scheduler.service

查看node节点状态,做软连接:

cd /opt/kubernetes/bin/

ln -s /opt/kubernetes/bin/* /usr/local/bin/

kubectl get nodes

kubectl get nodes -o wide

由于我们之前定义了负载均衡器和vip地址,直接开启50,60主机:

给负载均衡器做好初始化操作:

都进行编译安装nginx:

# nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true    

下载nginx:

修改nginx配置文件,配置四层反向代理负载均衡,指定k8s群集2台master的节点ip和6443端口:

添加:

stream {
    upstream k8s-apiserver {
     server 192.168.233.10:6443;
     server 192.168.233.20:6443;
   } 
     server {
         listen 6443;
      proxy_pass k8s-apiserver;
  }
}

检查配置文件语法:

nginx -t   

开启ngixn:

systemctl start nginx

部署keepalived服务:

将在线源移出来进行安装:

mv bak/* .

yum install keepalived -y

添加检查nginx存活的脚本:

#!/bin/bash
if ! killall -0 nginx
   then
 systemctl stop keealived
fi

授予脚本权限:

chmod +x check.nginx.sh

修改keepalived配置文件:

cd /etc/keepalived

vim keepalived.conf

下面全部删除掉。

在进行添加一个周期性执行的脚本配置:

vrrp_script check.nginx {
     interval 2
   script "/etc/keepalived/check.nginx.sh"
 }

     track_script {
           check.nginx
}

同时60作为备节点需要修改一下:

启动keepalived:

systemctl start keepalived
systemctl enable keepalived

测试关闭主的nginx:

查看备60节点:

主开启nginx:

修改所有node节点上的bootstrap.kubeconfig,kubelet.kubeconfig,kube-proxy.kubeconfig配置文件为VIP:

cd /opt/kubernetes/
vim kube-proxy.kubeconfig

vim kubelet.kubeconfig

vim bootstrap.kubeconfig

重启kubelet和kube-proxy服务:

systemctl restart kubelet.service 
systemctl restart kube-proxy.service

在负载均衡主机上查看nginx连接状态:

netstat -natp | grep nginx

修改master01./kube下的config文件的ip:

将master节点的kube-controller-manager.kubeconig,kube-scheduler.kubeconfig文件的ip指向本机ip:

节点02:

重启kube-controller-manager.service,kube-scheduler.service服务:

由于我master01节点的文件不用修改,就不用重启。

systemctl restart kube-controller-manager.service kube-scheduler.service

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

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

相关文章

魔改Mac OS渗透测试工具箱!

简介 本工具箱为v1版本&#xff0c;由"森然"师傅进行二开。 通过Python进行调用&#xff0c;并实现图形化界面。 参考&#xff1a;狐狸工具箱&#xff0c;闲客工具箱 环境以及工具 综合了常用的几个工具 适配Mac、Windos、Linux用户 注意&#xff1a;自带的jav…

软件运维维保服务方案-套用模板

软件运维维保方案-套用模板 项目情况 1.1 项目背景简述项目的来源、目的和重要性。说明项目的规模、预算和预期目标。 1.2 项目现状分析当前系统/软件的运行状态、存在的问题和潜在风险。提供最近一次的维护报告或相关统计数据。服务简述 2.1 服务内容明确运维服务的具体内容&…

网站开发--Cookie 和 Session 的工作流程

&#x1f495;"Echo"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;网站开发–Cookie 和 Session 的工作流程 一.Cookie和Session的基本概念 前言:HTTP协议是无状态协议 无状态协议就是指HTTP协议在传输的过程中不会保存上一次交互的状态信息,但是…

Linux之用户跟用户组

目录 一、简介 1.1、用户 1.2用户组 1.3UID和GID 1.4用户账户分类 二、用户 2.1、创建用户&#xff1a;useradd 2.2、删除用户&#xff1a;userdel 2.3 、修改用户 usermod 2.4、用户口令的管理:passwd 2.5、切换用户 三、用户组 3.1、增加一个用户组:groupadd 3.…

Makefile静态库动态库的构建和链接之工程实用篇

静态库和动态库的构建和链接 现有C工程目录结构如下&#xff1a; add.h int add(int a, int b);add.cpp #include "add.h"int add(int a, int b) {return ab; }main.cpp #include <iostream> #include "add.h"int main() {std::cout << a…

数据结构-二分搜索树(Binary Search Tree)

一,简单了解二分搜索树 树结构: 问题:为什么要创造这种数据结构 1,树结构本身是一种天然的组织结构,就好像我们的文件夹一样,一层一层的. 2,树结构可以更高效的处理问题 二,二分搜索树的基础 1、二叉树 2,二叉树的重要特性 满二叉树 总结: 1. 叶子结点出现在二叉树的最…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

【多线程】多线程案例——单例模式详解(包含懒汉模式,饿汉模式)

单例模式 &#x1f334;饿汉模式&#x1f38d;懒汉模式&#x1f338;单线程版&#xff08;线程不安全&#xff09;&#x1f338;多线程版&#x1f338;多线程版(改进) ⭕总结 单例模式是校招中最常考的 设计模式之⼀. 啥是设计模式? 设计模式好⽐象棋中的 “棋谱”. 红⽅当头…

AtCoder ABC342 A-D题解

华为出的比赛&#xff1f; 好像是全站首个题解哎&#xff01; 比赛链接:ABC342 Problem A: 稍微有点含金量的签到题。 #include <bits/stdc.h> using namespace std; int main(){string S;cin>>S;for(int i0;i<s.size();i){if(count(S.begin(),S.end(),S[i…

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测…

书生·浦语大模型实战营第六节课作业

基础作业 python run.py --datasets ceval_gen --hf-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-kwargs padding_sideleft truncationleft trust_remote_codeTrue --m…

嵌入式软件分层设计的思想分析

“嵌入式开发&#xff0c;点灯一路发” 那今天我们就以控制LED闪烁为例&#xff0c;来聊聊嵌入式软件分层: ——————————— | | | P1.1 |-----I<|--------------<| | | | P2.1 |-------------/ ---------…

Seata分布式事务实战AT模式

目录 分布式事务简介 典型的分布式事务应用场景 两阶段提交协议(2PC) 2PC存在的问题 什么是Seata&#xff1f; Seata的三大角色 Seata AT模式的设计思路 一阶段 二阶段 Seata快速开始 Seata Server&#xff08;TC&#xff09;环境搭建 db存储模式Nacos(注册&配…

HTB-Bizness

一、信息收集 访问ip自动跳转域名&#xff0c;host绑定域名后访问 目录爆破 有一个登录目录&#xff0c;访问发现是apahce ofbiz登录页面 发现存在漏洞 二、漏洞利用 在github上找到了图形化利用工具 使用工具反弹shell 得到flag 三、权限提升 从本地利用python开启http服务…

远程连接服务器及可视化方法(Win和Linux)

1.win端 1、通过SSH连接至服务器 在window下&#xff0c;打开命令行提示符&#xff08;快捷键winr后输入cmd回车&#xff09; 在命令行中输入 ssh 服务器上的用户名192.168.50.204回车并输入服务器上的用户登录密码 至此&#xff0c;已成功通过SSH连接至服务器。 2、通过…

复旦大学EMBA联合澎湃科技:共议科技迭代 创新破局

1月18日&#xff0c;由复旦大学管理学院、澎湃新闻、厦门市科学技术局联合主办&#xff0c;复旦大学EMBA项目、澎湃科技承办的“君子知道”复旦大学EMBA前沿论坛在厦门成功举办。此次论坛主题为“科技迭代 创新破局”&#xff0c;上海、厦门两地的政策研究专家、科学家、科创企…

集合的并发修改异常问题

使用迭代器遍历集合时&#xff0c;同时在删除集合中的数据&#xff0c;程序就会出现并发修改异常的错误。 import java.util.ArrayList; import java.util.Iterator; import java.util.List;public class _Exception {public static void main(String[] args) {List<String…

【GAD】DOMINANT个人解读/学习

SDM2019&#xff0c;这是一篇图异常检测领域的经典方法. 问题定义 在本文中&#xff0c;我们使用手写体来表示集合&#xff08;例如&#xff0c; V \mathcal{V} V&#xff09;&#xff0c;粗体小写字母&#xff08;例如&#xff0c; x \mathbf{x} x&#xff09;来表示向量&…

优化测试稳定性的失败重试工具:pytest-rerunfailures详解!

一.前言 笔者在执行自动化测试用例时&#xff0c;会发现有时候用例失败并非代码问题&#xff0c;而是由于服务正在发版&#xff0c;导致请求失败&#xff0c;从而降低了自动化用例的稳定性&#xff0c;最后还要花时间定位到底是自身case的原因还是业务逻辑问题&#xff0c;还是…

安全测试:史上最全的攻防渗透信息收集方法、工具!

信息收集的意义 信息收集对于渗透测试前期来说是非常重要的。正所谓&#xff0c;知己知彼百战不殆&#xff0c;信息收集是渗透测试成功的保障&#xff0c;只有我们掌握了目标网站或目标主机足够多的信息之后&#xff0c;才能更好地进行渗透测试。 信息收集的方式可以分为两种…