Linux k8s相关命令

本文介绍了如何在Kubernetes环境中查看和管理Pod,包括使用kubectl命令在所有命名空间中查找Pod,检查Pod状态,以及解决DNS解析问题,如CoreDNS配置和网络连接问题。
摘要由CSDN通过智能技术生成
root@root01:/home/likemashang# kubectl get pods -A
NAMESPACE                      NAME                                               READY   STATUS    RESTARTS        AGE
ums                            ums-platform-worker-76d9c79896-5w8c5               1/1     Running   0               12d
查看所有命名空间中的 Pod:可以使用 -A 参数来查看所有命名空间中的 Pod。例如:
kubectl get pods -A

这将列出所有命名空间中运行的 Pod。

切换到特定命名空间:如果您知道要查看的 Pod 所在的命名空间,可以使用 -n 参数切换到该命名空间。例如:

kubectl get pods -n your-namespace

请将 your-namespace 替换为实际的命名空间名称。

确认 Pod 是否运行:确保您要查看的 Pod 确实在运行中。您可以使用 kubectl describe pod 命令查看有关特定 Pod 的详细信息,例如:

kubectl describe pod your-pod-name -n your-namespace
请将 your-pod-name 替换为实际的 Pod 名称,your-namespace 替换为实际的命名空间名称。

检查集群配置:如果您期望在默认命名空间中有运行的 Pod,可能需要检查集群配置或部署是否正确。

在Kubernetes集群中,如果出现DNS解析问题,可能是由于CoreDNS(或其他DNS插件)配置不正确或运行异常导致的。可以按照以下步骤来检查和排除问题:

检查CoreDNS Pod是否正常运行:使用以下命令检查CoreDNS Pod的状态:
kubectl get pods -n kube-system -l k8s-app=kube-dns

如果CoreDNS Pod未运行或出现错误,请查看相关日志以了解详细信息:

kubectl logs -n kube-system <coredns-pod-name>

检查CoreDNS配置:您可以查看CoreDNS的配置文件,确保其中包含正确的DNS解析配置。配置文件通常位于ConfigMap中:

kubectl get configmap coredns -n kube-system -o yaml

确保配置文件中包含正确的域名解析配置,如正确的nameserver和forward配置。

检查DNS解析设置:您可以在Pod中执行以下命令来测试DNS解析是否正常:

kubectl exec -it <your-pod-name> -n <your-namespace> -- nslookup smtp.163.com
kubectl exec -it ums-platform-worker-57d5bcf6c9-kj5sf -n ums -- nslookup smtp.163.com
kubectl exec -it ums-platform-worker-57d5bcf6c9-kj5sf -n ums -- curl -v smtps://smtp.163.com:465
如果这个命令返回与你期望的不同的IP地址,可能是DNS解析配置有问题。

检查网络连接:确保Kubernetes集群中的节点可以正常访问互联网,并且没有任何网络设置或防火墙阻止与smtp.163.com的连接。
安装 Kubernetesk8s)需要以下步骤: 1. 安装 Docker Kubernetes 使用 Docker 容器技术来打包应用程序和服务。因此,首先需要在 Linux 系统上安装 Docker。 首先,卸载旧版本的 Docker(如果有的话): ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` 然后,更新 APT 包索引并安装依赖包: ```bash sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release ``` 接下来,添加 Docker 的 GPG 密钥: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 添加 Docker APT 仓库: ```bash echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 最后,更新 APT 包索引并安装 Docker: ```bash sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 2. 安装 Kubernetes Kubernetes 有多个组件,包括 kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy 等。在 Linux 系统上安装 Kubernetes,需要先安装这些组件的二进制文件。 首先,添加 Kubernetes APT 仓库: ```bash curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" ``` 然后,更新 APT 包索引并安装 Kubernetes: ```bash sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl ``` 3. 初始化 Kubernetes 集群 使用 kubeadm 工具可以方便地初始化 Kubernetes 集群。 首先,执行以下命令来初始化 Kubernetes 集群: ```bash sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 这里使用的是 Flannel 网络插件,需要指定 pod 网络地址段。 初始化成功后,会输出如下信息: ```bash Your Kubernetes control-plane has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You can now join any number of the control-plane node running the following command on each as root: kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> Please note that the certificate-rotation feature is enabled, which requires you to manually approve certificate renewals for component certificates. Refer to the Kubelet documentation for additional information. ``` 执行以下命令,将 Kubernetes 配置文件复制到当前用户的 .kube 目录下: ```bash mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 4. 安装网络插件 Kubernetes 是一个分布式系统,需要网络插件来实现 Pod 之间的通信。 这里使用 Flannel 网络插件: ```bash kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 安装完成后,执行以下命令查看节点状态: ```bash kubectl get nodes ``` 如果输出类似如下信息,则说明节点已经成功加入集群: ```bash NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane,master 19m v1.22.1 ``` 至此,Kubernetes 集群安装完成。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值