免交互设置密码echo 123456 |passwd --stdin u01查看所有服务单元systemctl list-units --typeservice --all # 正在运行的 systemctl list-units --typeservice --staterunningMysql如果你只想快速看所有用户的插件省略 WHERE 即可SELECT user, host, plugin FROM mysql.user;SELECT user, host, plugin, authentication_string FROM mysql.user WHERE userkeystone\G只允许从 controller 主机连接CREATE USER IF NOT EXISTS keystonecontroller IDENTIFIED WITH mysql_native_password BY 123456; GRANT ALL PRIVILEGES ON keystone.* TO keystonecontroller; FLUSH PRIVILEGES;允许从任意主机连接测试环境常用CREATE USER IF NOT EXISTS keystone% IDENTIFIED WITH mysql_native_password BY 123456; GRANT ALL PRIVILEGES ON keystone.* TO keystone%; FLUSH PRIVILEGES;再次验证mysql -u keystone -p123456 -h controller keystone -e show tables;ssh连接速度优化vim /etc/ssh/sshd_config GSSAPIAuthentication no #关闭SERVER上的GSS认证 UseDNS no #关闭DNS反向解析 systemctl restart sshd.service免重启显示新添加硬盘的方法# 查看主机总线型号 ls /sys/class/scsi_host/ host0 host1 host2 # 重新扫描SCSI总线来添加设备 echo - - - /sys/class/scsi_host/host0/scan echo - - - /sys/class/scsi_host/host1/scan echo - - - /sys/class/scsi_host/host2/scanphp yum源配置-7系统rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmphp5.6yum install -y php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64php7.0yum install -y php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64安装PHP FPMyum install php56w-fpm yum install php70w-fpm systemctl enable php-fpm.service Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.vim全局替换例将cn替换为com:%s/cn/com/gmysql安装# 创建用户 CREATE USER slaveusr% IDENTIFIED WITH mysql_native_password BY 123456; # 授权用户 主从复制权限 GRANT REPLICATION SLAVE ON *.* TO slaveusr%; # 授权用户 所有权限 GRANT ALL PRIVILEGES ON *.* TO slaveusr% IDENTIFIED BY 123456 WITH GRANT OPTION;修改时区cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime timedatectl set-timezone 时区 # 替换时区为你希望设置的时区例如 Asia/Shanghai timedatectl set-timezone Asia/Shanghai设置网卡多IPifconfig ens160:1 192.168.3.192 netmask 255.255.255.0 upip addr add 192.168.3.193/24 dev ens160 label ens160:2ifconfig ens160:1 192.168.3.192/24 up重启网络后消失systemctl restart network nmcli connection reload nmcli connection up ens160修改静态ip地址7、8 系列系统vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 静态IP地址 IPADDR192.168.3.200 NETMASK255.255.255.0 GATEWAY192.168.3.2 DNS1114.114.114.1149系列系统---------------------------------- 使用命令设置 nmcli con mod ens160 ipv4.method manual ipv4.addresses 192.168.3.191/24 ipv4.gateway 192.168.3.2 ipv4.dns 114.114.114.114 connection.autoconnect yes nmcli connection reload nmcli connection up ens160 ---------------------------------- 配置文件设置 vim /etc/NetworkManager/system-connections/ens160.nmconnection [ipv4] #methodauto methodmanual address1192.168.3.91/24,192.168.3.2 dns223.5.5.5;114.114.114.114 nmcli c reload nmcli c up ens160 [ipv6] addr-gen-modeeui64 methoddisabled [ipv6] addr-gen-modeeui64 methoddisabled # disabled 关闭ipv6 不修改也可以 nmcli n #查看networkmanager启动与否 nmcli c reload #重新加载配置文件c是connection的缩写 nmcli c up ens160 #启动你设置的网卡ens160 nmcli d # 查看网卡状态也可以用ifconfig修改主机名称hostnamectl set-hostname master1-admin停止防火墙systemctl stop firewalld systemctl disable firewalld禁用selinuxsetenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config常用软件包的安装yum install -y epel-release tree vim wget bash-completion lrzsz nfs-utils net-tools sysstat iotop unzip nc nmap telnet bc psmisc yum-utils ipvsadm git socat conntrack sshpasscentos7修改阿里云源# wget 方式 阿里云源 rm -rf /etc/yum.repos.d/*.repo wget -O /etc/yum.repos.d/centos.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache # curl 方式 阿里云源 rm -rf /etc/yum.repos.d/*.repo curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo curl http://mirrors.aliyun.com/repo/epel-7.repo -o /etc/yum.repos.d/epel.repo yum clean all yum makecache # wget 方式 腾讯源 rm -rf /etc/yum.repos.d/*.repo wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo yum clean all yum makecache http://mirrors.cloud.tencent.com/repo/centos7_base.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo # curl 方式 腾讯源 rm -rf /etc/yum.repos.d/*.repo curl -L -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo curl -L -o /etc/yum.repos.d/CentOS-epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo yum clean all yum makecache # 最小化无影响安装 yum install wget net-tools tree vim bash-completion lrzsz -yrocky linux 8修改阿里云源sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g \ -i.bak \ /etc/yum.repos.d/Rocky-*.reporocky linux 9修改上海交通大学源sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.sjtug.sjtu.edu.cn/rocky|g \ -i.bak \ /etc/yum.repos.d/rocky-*.repo mkdir /etc/yum.repos.d/bakrepo mv /etc/yum.repos.d/*.bak /etc/yum.repos.d/bakrepo sed -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g -i.bak /etc/yum.repos.d/rocky.repo dnf makecache sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g \ -i.bak \ /etc/yum.repos.d/[Rr]ocky*.repo配置系统时间与网络同步server ntp.aliyun.com iburst server ntp.ntsc.ac.cn iburst server time.neu.edu.cn iburst 删除原有配置加入上面地址 vim /etc/chrony.conf systemctl restart chronyd chronyc sources -v #查看同步状态 timedatectl #查看同步状态 Local time: 五 2024-03-22 17:30:40 CST Universal time: 五 2024-03-22 09:30:40 UTC RTC time: 五 2024-03-22 09:30:40 Time zone: Asia/Shanghai (CST, 0800) System clock synchronized: no ####yes NTP service: active RTC in local TZ: no关闭系统swap缓存swapoff -a sed -i s/.*swap.*/#/ /etc/fstabhost文件解析配置echo 192.168.137.31 zhyj1.cm zhyj1 /etc/hostsssh免密快速配置创建秘钥ssh-keygen -f ~/.ssh/id_rsa -P -q参数讲解ssh-keygen密钥对创建工具 [-P old_passphrase] 密码 [-f output_keyfile] 输出的秘钥文件 [-q] 不输出信息 [-t dsa ] 指定秘钥类型拷备秘钥到其他主机yum install sshpass sshpass -p123456 ssh-copy-id -f -i ~/.ssh/id_rsa.pub -o StrictHostKeyCheckingno 192.168.3.32参数讲解 [rootweb02 ~]# sshpass -help Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters sshpass -p123456 ssh-copy-id -f -i ~/.ssh/id_rsa.pub -o StrictHostKeyCheckingno 192.168.137.32 sshpass [-f|-d|-p|-e] [-hV] command parameters ssh-copy-id -f -i ~/.ssh/id_rsa.pub -o StrictHostKeyCheckingno root172.16.1.8 ssh-copy-id [-f] [-i [identity_file]] [-p port] [[-o ssh -o options] ...] [user]hostname 说明 -f: force mode 强制 [-i [identity_file]] 指定秘钥文件 [[-o ssh -o options] ...] 指定ssh参数选项ssh远程执行命令sshpass -p 123456 ssh root192.168.3.21 echo 1 /1.txt加载系统内核参数modprobe br_netfilter 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 EOF sysctl -p /etc/sysctl.d/k8s.conf #加入开机启动项目 echo modprobe br_netfilter /etc/rc.d/rc.local echo sysctl -p /etc/sysctl.d/k8s.conf /etc/rc.d/rc.local chmod x /etc/rc.d/rc.local #查看是否加载 lsmod | grep br_netfiltertab键命令补全yum install bash-completiondocker-ce阿里云源安装yum install yum-utils -y yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sed -i s|https://download.docker.com|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|g /etc/yum.repos.d/docker-ce.repo # 卸载旧版 Docker 及相关包 yum remove -y docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ docker-selinux yum install docker-ce -y --allowerasing # rocky8/9 yum install docker-ce -y # centos7 mkdir -p /etc/docker cat /etc/docker/daemon.json -EOF { log-opts: { max-size: 5m, max-file: 3 }, exec-opts: [ native.cgroupdriversystemd ], insecure-registries: [ 192.168.137.35, harbor.cn ], registry-mirrors: [ https://registry.docker-cn.com, https://docker-0.unsee.tech, https://docker.1panel.live, https://docker.ckyl.me, https://docker.m.daocloud.io, https://docker.mirrors.sjtug.sjtu.edu.cn, https://docker.mirrors.ustc.edu.cn, https://docker.nju.edu.cn, https://docker.rainbond.cc, https://docker.registry.cyou, https://docker.xuanyuan.me, https://docker-cf.registry.cyou, https://dockercf.jsdelivr.fyi, https://dockerhub.icu, https://docker.jsdelivr.fyi, https://dockerproxy.com, https://dockertest.jsdelivr.fyi, https://hub.rat.dev, https://mirror.aliyuncs.com, https://mirror.baidubce.com, https://mirror.iscas.ac.cn, https://reg-mirror.qiniu.com ] } EOF systemctl daemon-reload systemctl restart docker systemctl enable docker ##################################################### docker pull bitnami/jenkins:2.452.3-debian-12-r7 docker pull openjdk:8-jdk-alpine docker pull gcr.io/google_containers/pause:3.8 docker pull docker.io/library/mysql:5.7.43 ##################################################### #安装指定版本containerd.io yum install containerd.io-1.6.28-3.1.el8.x86_64 yum list docker-ce.x86_64 --showduplicates | sort -r #指定安装docker的版本 yum install docker-ce-24.0.2-1.el8.x86_64 -y yum install docker-ce-24.0.2-1.el7.x86_64 -y # 导出本机镜像命令 docker save -o coredns.tar k8s.gcr.io/coredns:1.3.1 # 导出其他镜像命令 docker load -i coredns.tar # x86平台指定下载arm平台的命令 docker pull --platform linux/arm64 docker.io/library/mysql:latestdocker配置代理mkdir /usr/lib/systemd/system/docker.service.d vim /usr/lib/systemd/system/docker.service.d/http-proxy.conf # 加入本地局域网内v2ray的地址打开允许局域网连接。默认端口10809 [Service] EnvironmentHTTP_PROXYhttp://192.168.1.18:10809 EnvironmentHTTPS_PROXYhttp://192.168.1.18:10809 192.168.1.18 # 重启 systemctl daemon-reload systemctl restart docker # 显示如下结果说明设置成功 systemctl show --propertyEnvironment docker EnvironmentHTTP_PROXYhttp://192.168.27.158:10809 HTTPS_PROXYhttp://192.168.27.158:10809 # 尝试拉一下google的镜像应该可以了 docker pull gcr.io/google_containers/pause:latest docker pull gcr.io/google_containers/pause:3.8 docker pull adguard/adguardh # 删除代理 rm -rf /usr/lib/systemd/system/docker.service.d/http-proxy.conf systemctl daemon-reload systemctl restart docker systemctl show docker --property Environmentdocker compose 安装#下载docker-compose文件 且 将文件移动到/usr/local/bin环境变量下面 curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose #将文件复制到/usr/local/bin环境变量下面 # mv docker-compose /usr/local/bin #给他一个执行权限 chmod x /usr/local/bin/docker-compose #查看是否安装成功 docker-compose -versiondocker常用命令[rootzhyj5 ~]# docker commit -a hello -m add 2c3457d804ba vv sha256:0988d4c96972b89c9d366be33578cc020b794dd8cbdf65fd87157fe7c0fbf0d8 [rootzhyj5 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE vv latest 0988d4c96972 7 seconds ago 471MB v1 latest f7e1bba77f64 3 minutes ago 471MB centos latest 76d6bc25b8a5 5 years ago 200MB mycentos v2 76d6bc25b8a5 5 years ago 200MB #运行nginx容器并挂载目录 docker run -itd -p8089:80 -v /var/www/html:/usr/share/nginx/html nginx:1.21 #Portainer安装 docker run -d -p 8088:9000 \ --restartalways -v /var/run/docker.sock:/var/run/docker.sock --privilegedtrue portainer/portainer-ce #删除所有容器 docker rm $(docker ps -aq) #停止所有容器 docker stop $(docker ps -q) #一次性删除所有本地镜像以及其标签 docker rmi -f $(docker images -a -q) #打包所有镜像 docker save $(docker images | grep -v REPOSITORY | awk BEGIN{OFS:;ORS }{print $1,$2}) -o allimages.tar docker save $(docker images --format {{.Repository}}:{{.Tag}}) -o allimages.tar #提交当前运行的镜像 docker commit -m hello-nginx -a zyj 95c9520689fd nginx:hello #docker file 编译安装nginx FROM rockylinux:8.8 LABEL maintainerpodpodexample.com ENV NGINX_VERSION 1.23.1 ENV AUTHOR jack ENV PATH/usr/local/nginx1/sbin:$PATH RUN sed -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g -i.bak /etc/yum.repos.d/*.repo RUN yum -y install gcc make pcre-devel zlib-devel tar zlib RUN mkdir /nginx COPY . /nginx WORKDIR /nginx RUN set -ex; \ bash install_nginx.sh; \ yum install vim iputils net-tools iproute -y EXPOSE 80 STOPSIGNAL SIGQUIT CMD [nginx,-g,daemon off;] ############################################ # 容器间的互联可以通过--link参数来实现 # 1、当使用--link参数启动一个新的容器时Docker会自动设置源容器被链接的容器和目标容器链接到源容器的新容器之间的连接。 # 2、Docker会在目标容器的/etc/hosts文件中添加一行记录将源容器的IP地址映射到源容器的名称或自定义别名上从而使得目标容器可以直接通过名字访问源容器。 # 3、同时环境变量会被注入到目标容器中这些环境变量包含了源容器的相关信息例如主机名、端口等。 # 启动一个容器并链接到另一个已经存在的容器 docker run --name container_b --link container_a:alias_name -d image_b # 1、container_a是已存在的容器名称。 # 2、alias_name是可选的别名如果未指定则默认为container_a的容器名。 # 3、这样做之后container_b就可以通过alias_name或者container_a的名字直接访问container_a暴露的服务了。 # 例lnmp 环境部署 docker run -itd -p 9000:9000 -v /var/www/html/:/var/www/html --name php-fpm php:7.0-fpm docker run -itd -p 8081:80 -v /root/lnmp/nginx.conf:/etc/nginx/nginx.conf -v /var/www/html:/var/www/html --name nginx-server --link php-fpm:php nginx:1.21 # 注意 要删除默认配置文件 default.conf常用命令常用小命令在 Linux 中/dev/null 和 21 是两个常用的重定向操作它们用于控制命令的输出和错误信息。而且这两个参数经常 与 nohup 命令一起使用。 nohup命令 nohup 是一个用于在后台运行命令的 Unix 命令。它的主要作用是运行指定的命令即使用户退出登录或终端关闭该命令也能够继续运行。通过使用 nohup 命令可以确保程序在后台持续运行而不会受到终端会话的影响。 当你在终端中运行一个进程并希望在终端关闭后该进程仍然继续运行时就可以使用 nohup 命令。例如 nohup sh monitor.sh nohup_monitor.log /dev/null 21 上面命令的语法解析 nohup表示要以 no hang up 的方式运行命令即使终端关闭也不会中断该命令的执行。 sh sr_monitor.sh表示要执行名为 sr_monitor.sh 的 Shell 脚本。 表示重定向标准输出。 nohup_monitor.log表示将标准输出重定向到一个名为 nohup_monitor.log 的文件中。 /dev/null表示将标准输入重定向到空设备即忽略所有输入。 21表示将标准错误输出重定向到与标准输出相同的位置即也重定向到 nohup_monitor.log 文件。 表示在后台运行命令。 这个命令的作用 以 nohup 方式在后台运行 sr_monitor.sh 脚本 将脚本的标准输出和标准错误输出都重定向到 nohup_monitor.log 文件 忽略任何标准输入。 /dev/null 解析 /dev/null 是 Linux 系统中的一个特殊文件它是一个无处不在的数据黑洞。任何写入 /dev/null 的数据都会消失不会有任何数据被保存下来。因此command /dev/null 会将 command 的标准输出重定向到 /dev/null也就是丢弃标准输出。例如 echo Hello, World! /dev/null 在这个命令中echo Hello, World! 的输出 Hello, World! 会被重定向到 /dev/null因此你不会在终端看到这个输出。 21 解析 21 是一个重定向操作它将标准错误文件描述符 2重定向到标准输出文件描述符 1。因此command 21 会将 command 的标准错误和标准输出合并也就是将标准错误输出到标准输出。例如 ls /path/to/nonexistent 21 在这个命令中ls /path/to/nonexistent 的错误输出会被重定向到标准输出因此你会在终端看到这个错误输出。 将这两个重定向操作结合使用command /dev/null 21可以将 command 的标准输出和标准错误都丢弃。例如 ls /path/to/nonexistent /dev/null 21 在这个命令中ls /path/to/nonexistent 的输出和错误都会被重定向到 /dev/null因此你不会在终端看到任何输出。 需要注意的是/dev/null 21 的顺序是不能写反的。如果你写成 21 /dev/null那么只有标准输出会被丢弃标准错误还会被输出到终端。最近修改过的文件find ./ -type f -mmin -240命令 find ./ -type f -mmin -240 的作用是在当前目录./及其所有子目录下查找所有在最近240分钟内被修改过的文件卸载软件命令rpm -e lrzsz --nodepsmysql初始化mysql -h 192.168.3.201 -P 3306 -u root -p 123456 -e${create_db_sql} ALTER USER rootlocalhost IDENTIFIED BY aaA...111; mysql -h 192.168.3.201 -P 3306 -u root -p 123456 -e${create_db_sql} GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY aaA...111 WITH GRANT OPTION;自签发证书mkdir /data/ssl -p openssl genrsa -out ca.key 3072 openssl req -new -x509 -days 3650 -key ca.key -out ca.pem 按照提示输入 openssl genrsa -out harbor.key 3072 openssl req -new -key harbor.key -out harbor.csr 按照提示输入 openssl x509 -req -in harbor.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out harbor.pem -days 3650 查看证书是否有效 openssl x509 -noout -text -in harbor.pem系统快速初始化脚本(centos7)#!/bin/bash echo 系统环境初始化脚本 sleep 3 echo —— 关闭防火墙与SELinux —— sleep 3 systemctl stop firewalld systemctl disable firewalld /dev/null setenforce 0 sed -i /SELINUX/{s/enforcing/disabled/} /etc/selinux/config echo —— 创建阿里仓库 —— sleep 3 rm -rf /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum -y install wget wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo echo —— 设置时区并同步时间 —— sleep 3 timedatectl set-timezone Asia/Shanghai yum -y install chrony systemctl start chronyd systemctl enable chronyd echo —— 设置系统最大打开文件数 —— sleep 3 if ! grep * soft nofile 65535 /etc/security/limits.conf /dev/null; then cat /etc/security/limits.conf EOF * soft nofile 65535 #软限制 * hard nofile 65535 #硬限制 EOF fi echo —— 系统内核优化 —— sleep 3 cat /etc/sysctl.conf EOF net.ipv4.tcp_syncookies 1 #防范SYN洪水攻击0为关闭 net.ipv4.tcp_max_tw_buckets 20480 #此项参数可以控制TIME_WAIT套接字的最大数量避免Squid服务器被大量的TIME_WAIT套接字拖死 net.ipv4.tcp_max_syn_backlog 20480 #表示SYN队列的长度默认为1024加大队列长度为8192可以容纳更多等待连接的网络连接数 net.core.netdev_max_backlog 262144 #每个网络接口 接受数据包的速率比内核处理这些包的速率快时允许发送到队列的数据包的最大数目 net.ipv4.tcp_fin_timeout 20 #FIN-WAIT-2状态的超时时间避免内核崩溃 EOF echo —— 减少SWAP使用 —— sleep 3 echo 0 /proc/sys/vm/swappiness echo —— 安装系统性能分析工具及其他 —— sleep 3 yum install -y gcc make autoconf vim sysstat net-tools iostat lrzsz#############################################################k8s篇nginx官方镜像安装ping命令apt-get install -y inetutils-ping apt-get install -y dnsutils阿里云容器镜像registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.1yum源-k8scat EOF /etc/yum.repos.d/kubernetes.repo [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled1 gpgcheck0 repo_gpgcheck0 gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF yum install -y kubelet-1.26.0 kubeadm-1.26.0 kubectl-1.26.0 systemctl enable kubelet systemctl start kubelet以镜像名中包含 xuxiaowei 为例去操作查看 ctr 中 k8s 使用过的镜像ctr -nk8s.io i ls查看 ctr 中 k8s 使用过的镜像搜索ctr -nk8s.io i ls | grep xuxiaowei查看 ctr 中 k8s 使用过的镜像搜索展示镜像IDctr -nk8s.io i ls -q | grep xuxiaowei查看 ctr 中 k8s 使用过的镜像搜索展示镜像ID拼接ctr -nk8s.io i ls -q | grep xuxiaowei | xargs查看 ctr 中 k8s 使用过的镜像搜索展示镜像ID拼接删除ctr -nk8s.io i ls -q | grep xuxiaowei | xargs ctr -nk8s.io i rm命令补全ubuntu系列source /usr/share/bash-completion/bash_completion;source (kubectl completion bash) echo source /usr/share/bash-completion/bash_completion;source (kubectl completion bash) ~/.bashrccentos系列yum install bash-completion source /usr/share/bash-completion/bash_completion echo source (kubectl completion bash) ~/.bashrc echo alias kkubectl ~/.bashrc echo complete -o default -F __start_kubectl k ~/.bashrc source ~/.bashrcbusybox测试命令kubectl run busybox --image docker.io/library/busybox:1.28 --image-pull-policyIfNotPresent --restartNever --rm -it busybox /bin/shvim busybox-dp.yamlapiVersion: apps/v1 kind: Deployment metadata: name: busybox spec: replicas: 1 selector: matchLabels: app: busybox template: metadata: labels: app: busybox spec: containers: - name: busybox image: busybox:1.28 #内置的linux大多数命令多用于测试 args: - /bin/sh - -c - sleep 10; touch /tmp/healthy; sleep 30000 readinessProbe: #就绪探针 exec: command: - cat - /tmp/healthy initialDelaySeconds: 10 #10s之后开始第一次探测 periodSeconds: 5vim busybox-pod.yamlapiVersion: v1 kind: Pod metadata: name: busybox namespace: default labels: app: busybox spec: containers: - name: busybox image: busybox:1.28 command: - /bin/sh - -c - sleep 3600 imagePullPolicy: IfNotPresentk8s 常用的命令kubectl get nodes kubectl get pods kubectl get pods --show-labels kubectl get pods --show-labels -n kube-system kubectl get pods -l runmy-nginx kubectl get deploy kubectl get rs kubectl api-resources kubectl describe nodes kubectl describe nodes -owide kubectl describe nodes xuegode63 kubectl apply -f pod.yaml kubectl api-resources kubectl expalin pods.metadata kubectl explain Deployment kubectl explain Deployment.metadata将文件从节点复制到Pod中的容器kubectl cp /path/to/save/file.ext my-helper-pod:/path/to/save/file.extpod亲和性apiVersion: v1 kind: Pod metadata: name: second labels: app: second spec: containers: - name: myapp image: ikubernetes/myapp:v1 imagePullPolicy: IfNotPresent affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - first topologyKey: kubernetes.io/hostname --- apiVersion: v1 kind: Pod metadata: name: second labels: app: second spec: containers: - name: myapp image: ikubernetes/myapp:v1 imagePullPolicy: IfNotPresent affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - first topologyKey: kubernetes.io/hostnamemysql常用命令# 5.7版本 grant all on *.* to mysql_monitor% identified by aaB...111 flush privileges; # 8.0版本 CREATE USER exporter% IDENTIFIED BY aaB...111 WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO exporter%; #所有权限 GRANT ALL ON *.* TO exporter%;Ubuntu配置篇常用命令的安装apt -y install xfsprogs openssh-server vim net-tools systemctl stop ufw systemctl disable ufw配置bash命令补全vim /etc/bash.bashrc # enable bash completion in interactive shells 放开这段代码 if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi 放开这段代码解决20版本的复制粘贴apt autoremove open-vm-tools -y apt install open-vm-tools-desktop -y rebootssh服务安装apt-get install openssh-server -y vim /etc/ssh/sshd_config PermitRootLogin yes # 修改这行 sudo passwd root #给root用户设定密码 systemctl restart ssh允许root界面登录vim /etc/pam.d/gdm-password 把这行注释了 一般为第二行 #auth required pam_succeed_if.so user ! root quiet_success静态IP的设置vim /etc/netplan/01-network-manager-all.yaml# 静态IP network: ethernets: ens33: dhcp4: false addresses: [192.168.3.22/24] # 废弃 gateway4改用 routes routes: - to: default via: 192.168.3.2 nameservers: # 这里必须缩进 addresses: [192.168.3.2] version: 2 renderer: NetworkManager ———————————————————————————————————————————————————— # 动态IP network: ethernets: ens33: dhcp4: true version: 2 renderer: NetworkManager# 应用网卡配置 netplan applyUbuntu22版本修改国内源cp /etc/apt/sources.list /etc/apt/sources.list.backup vim /etc/apt/sources.list deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse