kubectl查看所有通过master暴露的所有端口
时间: 2024-03-21 22:39:44 浏览: 26
您可以使用以下命令来查看所有通过Master节点暴露的端口:
```
kubectl get svc -n kube-system
```
该命令将返回kube-system命名空间下的所有Service的列表,包括它们的名称、类型、ClusterIP、端口等信息。如果一个Service是通过Master节点暴露的,那么在输出中将会显示它们的ClusterIP地址和端口号。您可以根据需要筛选出相关的Service信息。
相关问题
centos部署单机版k8s
1. 安装Docker
CentOS 7默认使用yum安装Docker。
```
sudo yum install -y docker
```
启动Docker服务。
```
sudo systemctl start docker
```
设置开机自启。
```
sudo systemctl enable docker
```
2. 安装kubeadm、kubectl和kubelet
使用yum安装kubeadm、kubectl和kubelet。
```
sudo tee /etc/yum.repos.d/kubernetes.repo <<-'EOF'
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubelet kubeadm kubectl
```
启动kubelet服务。
```
sudo systemctl start kubelet
```
设置开机自启。
```
sudo systemctl enable kubelet
```
3. 初始化kubeadm
使用kubeadm初始化kubernetes集群。
```
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-cert-extra-sans=<your master node IP>
```
其中,`--pod-network-cidr`指定Pod网络地址段,`--apiserver-cert-extra-sans`指定额外的API Server主机名或IP地址,通常指定集群的Master节点IP地址,例如:
```
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-cert-extra-sans=192.168.1.100
```
初始化完成后,执行以下命令将`kubectl`配置文件复制到当前用户目录下。
```
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```
4. 安装网络插件
安装网络插件,以便Pod之间可以相互通信。
这里我们选择使用Flannel作为网络插件。
```
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```
5. 部署应用
部署一个简单的应用,例如Nginx。
```
kubectl run nginx --image=nginx --port=80
```
创建一个Service,将Pod暴露出去。
```
kubectl expose deployment/nginx --port=80 --type=NodePort
```
查看Service的访问端口。
```
kubectl get svc
```
访问Nginx应用,使用浏览器访问Node的IP地址和Service的访问端口即可。
6. 部署Dashboard
可以使用Dashboard来管理集群。
```
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
```
创建一个ServiceAccount。
```
kubectl create serviceaccount dashboard -n default
```
创建一个ClusterRoleBinding,将ServiceAccount绑定到cluster-admin角色。
```
kubectl create clusterrolebinding dashboard-admin -n default --clusterrole=cluster-admin --serviceaccount=default:dashboard
```
获取Dashboard的访问令牌。
```
kubectl -n default describe secret $(kubectl -n default get secret | grep dashboard | awk '{print $1}')
```
启动代理。
```
kubectl proxy
```
在浏览器中访问以下地址。
```
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```
使用上一步获取的访问令牌登录Dashboard即可。
portainer k8s
Portainer是一个开源的容器管理工具,它提供了一个用户友好的界面来管理和监控Kubernetes集群。
要在Kubernetes集群中使用Portainer,您需要按照以下步骤进行操作:
1. 首先,确保您已经安装了一个运行的Kubernetes集群。您可以使用一些工具(如Minikube)在本地环境中快速设置一个单节点集群,或者使用云提供商(如AWS、GCP、Azure)的托管Kubernetes服务。
2. 接下来,您需要部署Portainer Server。您可以通过执行以下命令来在Kubernetes集群中创建Portainer Server的部署:
```bash
kubectl apply -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
```
这将使用Portainer提供的官方Kubernetes部署清单在集群中创建一个名为"portainer"的命名空间,并部署Portainer Server。
3. 等待一段时间,直到Portainer Server的Pod状态为"Running"。您可以使用以下命令来检查状态:
```bash
kubectl get pods -n portainer
```
4. 一旦Pod状态为"Running",您可以通过执行以下命令来暴露Portainer Server的服务:
```bash
kubectl port-forward -n portainer svc/portainer 9000:9000
```
这将本地主机的9000端口与Portainer Server的服务关联起来。
5. 现在,您可以在浏览器中打开http://localhost:9000来访问Portainer管理界面。您将被要求设置管理员帐户的用户名和密码。
6. 完成设置后,您可以使用Portainer界面来管理和监控您的Kubernetes集群。
请注意,这只是一个简单的介绍,您可以根据您的需求和环境进行更详细的配置和部署。您可以参考Portainer的官方文档来获取更多信息和指南。