K8S
K8S
1 minikube
1.1 Debian 12 安装 minikube
部署环境如下。
- 服务器:香港云服务器,Debian 12.7 64位。
1. 前置环境准备
安装 Docker
安装参考 Debian 12 安装 Docker 和 docker compose。
按照官网的 在 Debian 上安装 Docker Engine 有点问题。
具体安装如下。
# 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
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
- 启动。
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