Pod常用命令以及创建deployment

查看pod

查看default命名空间下的pods

kubectl get pods
kubectl get po

查看kube-system命名空间下的pods

kubectl get pods -n kube-system

查看所有命名空间下的pods

kubectl get pod --all-namespaces
kubectl get pod -A

运行pod

kubectl run nginx-test --image=nginx --port=80

deployment

创建nginx-deloy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
spec:
  selector:
    matchLabels:
      app: nginx-cluster
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx-cluster
    spec:
      containers:
      - name: nginx-cluster
        image: nginx
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: 1
            memory: 500Mi
          limits:
            cpu: 2
            memory: 1024Mi

创建

[root@kube-master01 yaml]# kubectl apply -f nginx-deploy.yaml 
deployment.apps/nginx-deploy created

查看pod的ip

[root@kube-master01 yaml]# kubectl get pod -o wide
NAME                           READY   STATUS    RESTARTS   AGE   IP            NODE          NOMINATED NODE   READINESS GATES
nginx-deploy-765cbd559-9xhzn   1/1     Running   0          30s   10.233.66.3   kube-node01   <none>           <none>

测试连接

curl 10.233.66.3

扩容至3个

[root@kube-master01 yaml]# kubectl scale --replicas=3 deployment.apps/nginx-deploy
deployment.apps/nginx-deploy scaled

查看

[root@kube-master01 yaml]# kubectl get deployments
NAME           READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deploy   3/3     3            3           2m43s

创建服务

kubectl expose deployment nginx-deploy --name=nginx-svc --port=8000 --target-port=80 --protocol=TCP --type=NodePort

获取服务地址

[root@kube-master01 yaml]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.233.0.1      <none>        443/TCP          7d19h
nginx-svc    NodePort    10.233.30.121   <none>        8000:30443/TCP   7s

测试连接

curl 10.233.30.121:8000

再去外部访问服务映射暴露的30443端口,显示nginx默认页面

posted @ 2021-09-01 18:05  请务必优秀  阅读(386)  评论(0编辑  收藏  举报