Administrator
发布于 2026-04-16 / 32 阅读
0
1

Linux 发展、Docker、K8s 与华为云平台实战分享

一、Linux 操作系统发展历程

Linux 是免费开源、可自由传播的类 Unix 操作系统,1991 年由芬兰大学生 Linus Torvalds 开发,现已成为服务器、云计算、嵌入式设备的主流系统。

1. 起源与关键发展节点

  • 1991 年:Linus Torvalds 发布 Linux 0.01 版本,仅支持 Intel 80386 平台

  • 1994 年:Linux 1.0 正式发布,完整支持 TCP/IP 网络协议

  • 2000 年后:RedHat、Debian、CentOS、Ubuntu 等主流发行版全面普及

  • 现在:覆盖服务器、云计算、嵌入式、移动终端(Android 基于 Linux 内核)

2. 主流发行版

  • 企业级稳定版:CentOS/RHEL(服务器首选,稳定可靠)、Debian/Ubuntu(开发与桌面场景常用)

  • 国产发行版:统信 UOS、麒麟 Kylin、华为 EulerOS(适配鲲鹏 / Intel 架构,面向企业级服务器)

3. Linux 核心运维实战(来自运维笔记)

(1)防火墙配置

  • firewalld 端口白名单

bash

运行

firewall-cmd --zone=public --add-port=5432/tcp --permanent  # 添加端口
firewall-cmd --zone=public --remove-port=5432/tcp --permanent  # 移除端口
firewall-cmd --reload  # 生效规则
firewall-cmd --zone=public --list-ports  # 查看开放端口
  • iptables 端口 / IP 控制

bash

运行

iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许22端口
iptables -A INPUT -s 192.168.1.200 -j ACCEPT  # 允许指定IP
iptables -A INPUT -p tcp --dport 22 -j DROP  # 拒绝其他IP访问22端口

(2)系统基础配置

  • 磁盘挂载:mount -o remount,size=8G /dev/shm/

  • 安装 JDK 并配置环境变量(写入 /etc/profile)

bash

运行

JAVA_HOME=/opt/java/jdk1.8.0_281/
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
  • 配置静态 IP(修改 /etc/sysconfig/network-scripts/ifcfg-ens33)

bash

运行

IPADDR=192.168.253.128
NETMASK=255.255.255.0
GATEWAY=192.168.253.2
DNS1=192.168.253.1
DNS2=8.8.8.8
  • 查看已安装软件包:yum list installed | grep 包名rpm -aq | grep 包名

  • sudo 权限配置:编辑 /etc/sudoers,添加 weblogic ALL=(ALL) ALL

(3)本地 YUM 仓库搭建

  1. 创建目录:mkdir -p /mnt/iso /mnt/cdrom

  2. 上传镜像并挂载:mount -o loop /mnt/iso/镜像名 /mnt/cdrom

  3. 备份并清理原有 repo 文件:mv /etc/yum.repos.d/* /tmp/

  4. 新建 local.repo

bash

运行

[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7

二、Docker 容器技术入门与实战

Docker 是轻量级容器化虚拟化方案,解决环境不一致、部署复杂、依赖冲突问题,是 DevOps 核心工具。

1. 核心概念

  • 镜像(Image):应用与运行环境的只读模板

  • 容器(Container):镜像运行实例,可启动 / 停止 / 删除

  • 仓库(Registry):Docker Hub、私有仓库,用于存储镜像

2. 常用命令(整合运维笔记)

(1)安装与服务

bash

运行

yum install -y docker-ce
systemctl start docker
systemctl enable docker

(2)镜像操作

bash

运行

docker pull busybox  # 拉取在线镜像
docker load -i 镜像包.tar.gz  # 导入本地镜像
docker tag busybox:latest 192.168.1.63:5000/busybox:latest  # 打标签
docker push 192.168.1.63:5000/busybox  # 推送到私有仓库
docker save -o 镜像名.tar.gz 镜像名:版本号  # 导出镜像
docker rmi 镜像名:版本号  # 删除镜像

(3)容器操作

bash

运行

docker run -itd --name 容器名 -p 80:80 --rm centos:httpd-v2  # 自动删除
docker run --restart=always -itd -p 80:90 --name 容器名 centos:httpd-v2  # 自启
docker ps -a | grep 关键字  # 查看容器
docker logs -f --tail=500 容器ID  # 查看日志
docker exec -it 容器ID /bin/bash  # 进入容器
docker inspect 容器ID | grep Pid  # 查看容器Pid
docker rm -f 容器ID  # 强制删除容器

(4)镜像制作与挂载

bash

运行

docker build -t 镜像名称 路径  # 构建镜像
docker run -d -p 8080:8080 --name my_tomcat -v 本地路径:容器路径 tomcat:1.0  # 目录挂载

三、kubectl 与 Kubernetes 基础

Kubernetes(K8s)是容器编排平台,实现容器应用自动化部署、扩缩容、运维;kubectl 是 K8s 命令行工具。

1. 核心资源

  • Pod:K8s 最小调度单元,包含一个 / 多个容器

  • Deployment:管理 Pod,支持滚动更新、弹性伸缩

  • Service:提供稳定网络访问入口

  • Namespace:资源隔离空间

2. kubectl 常用命令(整合运维笔记)

bash

运行

kubectl get pods --all-namespaces -o wide  # 查看所有Pod
kubectl get nodes --all-namespaces -o wide  # 查看节点
kubectl get deployments --all-namespaces -o wide  # 查看副本
kubectl get services --all-namespaces -o wide  # 查看服务

kubectl describe pod/节点/deployment 名称  # 查看详情
kubectl edit service 名称  # 编辑服务配置
kubectl run nginx --image=nginx:latest --port=80  # 快速创建Pod
kubectl delete pod 名称  # 删除Pod

kubectl create -f xxx.yaml  # 创建资源
kubectl apply -f xxx.yaml  # 更新资源
kubectl replace -f xxx.yaml  # 替换资源

3. K8s 集群初始化与故障排查

bash

运行

# 集群初始化
kubeadm init --image-repository=registry.aliyuncs.com/google_containers --apiserver-advertise-address=192.168.119.130 --kubernetes-version=v1.20.4 --pod-network-cidr=172.0.0.0/8

# 生成加入命令
kubeadm token create --print-join-command

# 初始化失败重置
swapoff -a
kubeadm reset
systemctl daemon-reload
systemctl restart kubelet
iptables -F

四、数据库运维实战(MySQL + Oracle)

1. MySQL 常用操作

bash

运行

mysql -u root -p  # 登录
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';  # 修改密码
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;  # 授权远程登录
systemctl start/stop mysqld  # 启停服务
select version() from dual;  # 查版本

2. Oracle 常用操作

sql

-- 数据闪回(恢复30分钟前数据)
select * from 表名 as of timestamp (systimestamp-interval'30'minute);

-- 解锁用户
alter user scott account unlock;
alter user scott identified by 123456;

-- 创建用户并授权
create user 用户名 identified by 密码;
grant connect,resource,dba to 用户名;

Oracle 监听配置(listener.ora)

bash

运行

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /home/u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.128)(PORT = 11521))
    )
  )

五、华为云平台与 Linux 运维实践

华为云提供 ECS、CCE、OBS 等服务,与 Linux 深度结合,快速搭建企业级应用。

1. 华为云 ECS 基础操作

  • 远程连接:ssh root@公网IP

  • 安全组:放行 22/80/443/3306 等端口

  • 控制台操作:重置密码、绑定密钥对

2. 华为云 OBS 对象存储(obsutil)

bash

运行

# 下载工具
wget https://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_linux_amd64.tar.gz
tar -zxvf obsutil_linux_amd64.tar.gz

# 配置认证
./obsutil config -i=AK -k=SK -e=obs.cn-north-1.myhuaweicloud.com

# 文件上传
./obsutil cp test.txt obs://bucket-name/

报错提示:当前不支持该文件类型,请尝试其他文件

3. 华为云 CCE 容器引擎

  • 托管式 K8s 服务,一键创建集群、弹性伸缩、自动运维

  • 支持鲲鹏 / Intel 混合部署

  • 与 IAM、OBS、EVS 深度集成,降低自建 K8s 运维成本


评论