K8S

felix.shao2025-05-25

K8S

1 minikube

minikube 概述

 minikube 是方便开发直接上手 k8s,官方文档详见如下。

1.1 Debian 12 安装 minikube

 部署环境如下。

  • 服务器:香港云服务器,Debian 12.7 64位。
1. 前置环境准备
 安装 Docker

 安装参考 Debian 12 安装 Docker 和 docker composeopen in new window
 按照官网的 在 Debian 上安装 Docker Engineopen in new window 有点问题。
 具体安装如下。

# 1
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates

# 2 
mkdir -p /etc/apt/sources.list.d/
touch /etc/apt/sources.list.d/docker.list

# 3 官方源
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

# 3 清华源
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

# 4 
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 5 验证
docker version
2. 安装 minikube
  1. 获取 minikubeopen in new window
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube
  1. 启动。
minikube start --force --container-runtime=containerd
3. 安装 kubectl

 安装参考如下。

 具体安装如下。

# 1. 下载最新版本
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# 2. 校验(可选)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check

# 3. 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

# 4. 测试
kubectl version --client
4. 与集群交互
# 1. 访问您全新的集群
kubectl get po -A

# 2. 使用捆绑的 dashboard,好像还不知道怎么用
minikube dashboard
5. 部署应用程序
# 1. 创建一个示例
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080

# 2. get 示例
kubectl get services hello-minikube

# 3. minikube 为您启动一个 Web 浏览器
minikube service hello-minikube

# 3. 或者,使用 kubectl 转发端口
kubectl port-forward service/hello-minikube 7080:8080
curl http://localhost:7080/ 
6. 管理集群
# 1. 暂停 Kubernetes 而不影响已部署的应用程序
minikube pause

# 2. 取消暂停已暂停的实例
minikube unpause

# ... 

其他(暂未使用)

内核升级 5.4

 内核需要大于 4.x+,使用 uname -r 查看内核版本,如果小于 4,我们则按照如下步骤升级。

# 下载 RPM
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.209-1.el7.elrepo.x86_64.rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.209-1.el7.elrepo.x86_64.rpm
wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.209-1.el7.elrepo.x86_64.rpm

# 安装 RPM
rpm -ivh kernel-lt-5.4.209-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-5.4.209-1.el7.elrepo.x86_64.rpm
# 安装报错忽略,rpm -ivh kernel-lt-headers-5.4.209-1.el7.elrepo.x86_64.rpm

# 确认已安装内核版本
rpm -qa | grep kernel

# 设置启动
# 查看启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
# 设置启动顺序
grub2-set-default 0
# 重启生效
reboot

# 验证
uname -r
禁用 SELinux 和关闭防火墙

 原因: 当前 kubelet 不支持 SElinux 模式。必须关闭以允许容器访问主机文件系统、使 Pod 网络正常工作。

禁用 swap 分区

 原生 kubernetes 不禁用 swap 分区会对性能有较大影响,此处继承。

swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab 
Last Updated 6/6/2025, 12:20:56 PM