实践项目-模拟公司自动化运维

news/2024/11/15 15:15:09/文章来源:https://www.cnblogs.com/mugetsukun/p/18357404

(20240828,准备更新PostgreSQL部分)

大纲

image
image

环境配置

系统:Debian 12.06
环境:阿里云ECS 以及 虚拟机

序号 IP地址 域名 主机名
1 192.168.100.12 k8s-master.yourname.com k8s-master
2 192.168.100.15 k8s-node1.yourname.com k8s-node1
3 192.168.100.16 k8s-node2.yourname.com k8s-node2
4 192.168.100.20 k8s-register.yourname.com k8s-register

VMware虚拟网络编辑器

image
image

ssh设置

sudo apt-get update && apt-get upgrade
sudo apt-get install vim

/etc/ssh/sshd_config

...
PermitRootLogin yes
PubkeyAuthentication no
...

master连通其他node

ssh-keygen -t rsa -b 2048for i in master node1 node2 register; do ssh-copy-id root@k8s-$i; done

静态IP设置
/etc/network/interfaces
其他主机修改IP即可

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).source /etc/network/interfaces.d/*# The loopback network interface
auto lo
iface lo inet loopbackauto ens33
iface ens33 inet static
address 192.168.100.12
netmask 255.255.255.0
gateway 192.168.100.254
search localdomain
nameserver 8.8.8.8
nameserver 114.114.114.114
/etc/init.d/networking restart

主机名和域名
/etc/hostname

k8s-master

/etc/hosts

127.0.0.1       localhost
127.0.1.1       k8s01# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters192.168.100.12 k8s-master.yourname.com k8s-master
192.168.100.15 k8s-node1.yourname.com k8s-node1
192.168.100.16 k8s-node2.yourname.com k8s-node2
192.168.100.21 k8s-register.yourname.com k8s-register

用scp将hosts文件传输到node

for i in node1 node2 register; do scp /etc/hosts root@k8s-$i:/etc/hosts; done

关闭swap

for i in node1 node2 register; do swapoff -a; done
for i in node1 node2 register; do sed -i 's/.*swap.*/#&/' /etc/fstab; donecat >> /etc/sysctl.d/k8s.conf << EOF
vm.swappiness=0
EOF

内核优化

cat << EOF | sudo tee /etc/sysctl.d/k8s.conf
net.ipv4.ip_forward = 1
EOF
for i in node1 node2 register; do sudo modprobe overlay; done
for i in node1 node2 register; do sudo modprobe br_netfilter; done
for i in node1 node2 register; do sysctl -p /etc/sysctl.d/k8s.conf; done

实践

域名DNS

用的是阿里云,我直接买了一个域名,但因为是个人服务器,不涉及商用没买SSL。
【阿里云-域名解析DNS01-简单介绍】 | chrisjing-com

Docker

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker -v
docker compose version
cat > /etc/docker/daemon.json <<EOF
{"log-driver": "json-file","log-opts": {"max-size": "20m","max-file": "3"},"registry-mirrors": ["https://docker.m.daocloud.io","https://dockerhub.icu","https://docker.anyhub.us.kg","https://docker.1panel.live"]
}
EOF
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

Nginx

mv default.conf default.conf.bak
touch default.conf
vim default.conf
server {listen 80;listen [::]:80;server_name example.com;access_log /var/log/nginx/access.log main;location / {proxy_pass http://127.0.0.1:8080/;rewrite ^/(.*)$ /$1 break;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade-Insecure-Requests 1;proxy_set_header X-Forwarded-Proto https;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决方案 | QTTabBar工具栏命令按钮设置everything、filelocator在当前文件夹下面搜索

备忘 everything 命令行参数参考 -path(是everythin参数) 表示在哪个位置(即哪个文件夹)下面搜索,这里%c%是qttabbar的参数,表示当前文件夹 https://www.voidtools.com/zh-cn/support/everything/command_line_interface/===================== filelocatorpro 命令行参数…

基于Ubuntu部署企业级kubernetes集群---k8s集群容器运行时Containerd准备

1.Containerd部署文件获取 1.下载 Containerd 文件wget https://github.com/containerd/containerd/releases/download/v1.7.21/cri-containerd-1.7.21-linux-amd64.tar.gz2.查看下载的文件 3.解压到当前文件到根目录下tar xf cri-containerd-1.7.21-linux-amd64.tar.gz -C /…

EMC/EMI详解

EMC/EMI详解 EMI(干扰)和EMS(抗扰)基础知识与整改流程 EMC主要包含两大项:EMI(干扰)和EMS(产品抗干扰和敏感度)。EMI(Electromagnetic Interference),表示电磁干扰(电磁干涉、电磁妨碍)的术语。由于发射电磁波会导致干扰,所以经常与Emission(辐射、发射)这一术…

java如何运行Python文件程序

有时候会遇到在java中启动Python的程序,下面进行说明package com.zxh.util;import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;/*** python执行器** @Author zxh*…

zabbix图形界面的字体问题

现象,zabbix web语言改为中文后 解决过程: 1.去windows下控制面板-字体-复制(楷体-常规)find / -name defines.inc.php cat /usr/share/zabbix/include/defines.inc.php 查看到字体及字体路径 进入字体目录:cd /usr/share/zabbix/assets/fonts 上传新字体 替换字体配置:…

工业和信息化部通报2024年第7批涉嫌侵害用户权益的APP和SDK

​工业和信息化部近日公布了一批存在安全问题的APP和SDK名单,这些应用和软件开发工具包(SDK)因违反相关法律法规,涉及违规收集个人信息、信息窗口乱跳转等问题被通报。此次通报的APP和SDK涉及多个应用领域,包括记账、游戏、实用工具、影视、网络加速、广告服务等。通报中指…

深度解析HarmonyOS SDK实况窗服务源码,Get不同场景下的多种模板

HarmonyOS SDK实况窗服务(Live View Kit)作为一个实时呈现应用服务信息变化的小窗口,遍布于设备的各个使用界面,它的魅力在于将复杂的应用场景信息简洁提炼并实时刷新,在不影响当前其他应用操作的情况下,时刻向用户展示最新的信息动态,用户也可以点击实况窗卡片或胶囊进…

uniapp js 数独小游戏 9*9 数独 2.0

效果图: game.vue <template> <view> <view class="main"> <view class="foot"> <view v-if="!isTip" class="sudoku_area"> <view v-for="(row, index) of rowList" :key=&qu…

2024-08-28:用go语言,给定一个从1开始、长度为n的整数数组nums,定义一个函数greaterCount(arr, val)可以返回数组arr中大于val的元素数量。 按照以下规则进行n次

2024-08-28:用go语言,给定一个从1开始、长度为n的整数数组nums,定义一个函数greaterCount(arr, val)可以返回数组arr中大于val的元素数量。 按照以下规则进行n次操作,将nums中的元素分配到两个数组arr1和arr2中: 1.第一次操作将nums[1]加入arr1。 2.第二次操作将nums[2]加…

WPF 如何利用Blend给Button添加波纹效果

先看一下效果吧:如果不会写动画或者懒得写动画,就直接交给Blend来做吧; 其实Blend操作起来很简单,有点类似于在操作PS,我们只需要设置关键帧,鼠标点来点去就可以了,Blend会自动帮我们生成我们想要的动画效果. 第一步:要创建一个空的WPF项目 第二步:右键我们的项目,在最…

绘制ply模型顶点的法线(通过两点)

import trimesh import matplotlib.pyplot as plt# 读取点云文件 mesh = trimesh.load_mesh(test.ply)# 计算法线 mesh.vertex_normals# 创建一个新的图形窗口 fig = plt.figure() ax = fig.add_subplot(111, projection=3d)# 绘制顶点 ax.scatter(mesh.vertices[:, 0], mesh.v…

HandyControl 初识 第一次正确引入

在 App.xaml配置HandyControl,一个是皮肤资源,一个是主题资源 完整代码: ` <Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="pack://application:,,,/HandyControl;component/Th…