kubernetes常用命令
1.获取节点
kubectl get nodes
2.使用Docker Desktop创建的Kubernetes的Context名作叫做docker-desktop
kubectl config use-context docker-desktop
3.查看namespace,会列出所有的namespace,都是k8s内置的
kubectl get namespaces
4.创建一个service的namespace
kubectl create namespace service
5.定义一个Deployment对象
创建文件deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: testserver
namespace: service
labels:
app: testserver
spec:
replicas: 3
selector:
matchLabels:
app: testserver
template:
metadata:
labels:
app: testserver
spec:
containers:
- name: testserver
image: germey/testserver
ports:
- containerPort: 80
6.deployment定义之后,运行
kubectl apply -f deployment.yaml
运行之后会有下列结果,已经运行成功
deployment.app/testservice created
7.获取对应namespace下pod运行状态,显示结果如下
kubectl get pod -n service
NAME READY STATUS RESTARTS AGE
testserver-84754df7c-cfmf8 1/1 Running 1 (4h22m ago) 11h
testserver-84754df7c-gvm85 1/1 Running 1 (4h22m ago) 11h
testserver-84754df7c-jzzsq 1/1 Running 1 (4h22m ago) 11h
可以看到创建了三个pod,(replicas指定参数为3),都是running状态
8.声明一个service对象,文件名为service.yaml
apiVersion: v1
kind: Service
metadata:
name: testserver
namespace: service
spec:
type: NodePort
selector:
app: testserver
ports:
- protocol: TCP
port: 8888
targetPort: 80
可以采用端口转发的方式将kuberneters中的service转发到本机的某个端口上面
kubectl port-forward service/testserver 9999:8888 -n service
# 显示结果如下
Forwarding from 127.0.0.1:9999 -> 80
Forwarding from [::1]:9999 -> 80
输出的其实是9999映射到80端口,这里显示的容器的端口