温馨提示×

Kubernetes 部署在 Ubuntu 上如何调试

小樊
32
2025-12-08 17:42:51
栏目: 智能运维

在 Ubuntu 上部署 Kubernetes 并进行调试,可以遵循以下步骤:

1. 安装 Docker

Kubernetes 需要一个容器运行时,Docker 是最常用的选择。

sudo apt update
sudo apt install -y docker.io

启动并启用 Docker 服务:

sudo systemctl start docker
sudo systemctl enable docker

2. 安装 kubeadm, kubelet 和 kubectl

这些是 Kubernetes 的核心组件。

sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

3. 初始化 Kubernetes 集群

使用 kubeadm init 命令初始化 Kubernetes 集群。

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

按照提示设置 kubectl 配置,并启动网络插件(例如 Flannel):

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

4. 部署应用

使用 kubectl 部署一个简单的应用来测试集群。

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

5. 调试

查看 Pod 状态

kubectl get pods

查看 Pod 日志

kubectl logs <pod-name>

进入 Pod 内部

kubectl exec -it <pod-name> -- /bin/sh

查看服务详情

kubectl describe service <service-name>

查看节点状态

kubectl get nodes

检查网络插件

确保网络插件(如 Flannel)正常运行。

kubectl get pods -n kube-system | grep flannel

查看事件

kubectl get events

使用 kubectl debug

kubectl debug 是一个强大的工具,可以创建一个调试 Pod 并附加到正在运行的 Pod 上。

kubectl debug -it <pod-name> --image=busybox --target=<pod-name>

6. 监控和日志

使用 Prometheus 和 Grafana 进行监控,使用 ELK 或 Fluentd 进行日志管理。

7. 故障排除

  • 检查网络问题:使用 pingtraceroute 检查网络连通性。
  • 检查资源限制:确保 Pod 没有超出资源限制。
  • 查看系统日志:使用 dmesg/var/log/syslog 查看系统日志。

通过以上步骤,你可以在 Ubuntu 上部署 Kubernetes 并进行有效的调试。

0