二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

创建secret

前提需要在私有Harbor上创建一个用户,此用户可以用来登录,并把harbor中的某些项目授予此用户的【项目管理员 】或【项目维护人员】或【开发人员】权限。验证从私有Harbor上拉取镜像创建pod用于验证kubernetes集群。

【创建secret】

如果Harbor里的镜像为私有镜像,那是不能直接pull镜像的,需要配置secret。如果是公有镜像,可以直接从Harbor里pull镜像。

在k8s管理节点上创建一个secret,

kubectl create secret docker-registry myharbor-yyee --docker-server=192.168.0.101:10080 --docker-username=yyee --docker-password=Harbor12345 --docker-email=87643666@qq.com

kubectl create secret docker-registry <注册secret名> --docker-server=<harbor服务器地址> --docker-username=<harbor用户名> --docker-password=<登录密码> --docker-email=<注册邮箱>

 

创建单个pod

使用yaml文件创建单个pod 。

【创建pod配置文件】

在其中一个【k8s管理节点】上创建pod启动文件

vi /opt/kubernetes/server/startup/demo1.mvcone-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: demo1-mvcone
spec:
  containers:
  - name: demo1-mvcone
    image: 192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
    ports:
    - containerPort: 50001
  imagePullSecrets:
  - name: myharbor-yyee

 

imagePullSecrets 节点下的myharbor-yyee名称就是指定harbor的安全访问配置名称。

如果harbor里的镜像是public类型,则不需要配置imagePullSecrets ,可以直接pull私有harbor中的镜像。

 

【创建pod】

kubectl create -f /opt/kubernetes/server/startup/demo1.mvcone-pod.yaml

 

pod/demo1-mvcone created

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

   

【查看创建的pod】

kubectl get pods -o wide

 

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

使用yaml文件创建Deployment

使用yaml文件创建Deployment

【创建deployment配置文件】

在其中一个【k8s管理节点】上创建Deployment配置文件

vi /opt/kubernetes/server/startup/demo1.mvcone-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo1-mvcone
  labels:
    app: demo1-mvcone
spec:
  replicas: 3
  selector:
    matchLabels:
      app: demo1-mvcone
  template:
    metadata:
      labels:
        app: demo1-mvcone
    spec:
      imagePullSecrets:
      - name: myharbor-yyee
      containers:
      - name: demo1-mvcone
        image: 192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
        imagePullPolicy: Always
        ports:
        - containerPort: 50001

 

imagePullSecrets 节点下的myharbor-yyee名称就是指定harbor的安全访问配置名称。

如果harbor里的镜像是public类型,则不需要配置imagePullSecrets ,可以直接pull私有harbor中的镜像。

 

【创建Deployment】

kubectl create -f /opt/kubernetes/server/startup/demo1.mvcone-deploy.yaml

 

deployment.apps/demo1-mvcone created

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

查看Deployment】

kubectl get deployment -o wide

 

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

【查看创建的pod】

kubectl get pod -o wide

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

  

使用yaml文件创建DaemonSet

 

使用yaml文件创建DaemonSet

【创建DaemonSet配置文件】

在其中一个【k8s管理节点】上创建Daemonset配置文件

vi /opt/kubernetes/server/startup/demo1.mvcone-daemonset.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: demo1-mvcone
  labels:
    app: demo1-mvcone
spec:
  selector:
    matchLabels:
      app: demo1-mvcone
  template:
    metadata:
      labels:
        app: demo1-mvcone
    spec:
      imagePullSecrets:
      - name: myharbor-yyee
      containers:
      - name: demo1-mvcone
        image: 192.168.0.101:10080/eshop/demo1.mvcone:v1.0.1
        imagePullPolicy: Always
        ports:
        - containerPort: 50001

 

imagePullSecrets 节点下的myharbor-yyee名称就是指定harbor的安全访问配置名称。

如果harbor里的镜像是public类型,则不需要配置imagePullSecrets ,可以直接pull私有harbor中的镜像。

 

【创建DaemonSet】

kubectl create -f /opt/kubernetes/server/startup/demo1.mvcone-daemonset.yaml

 

daemonset.apps/demo1-mvcone created

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

   

【查看DaemonSet】

kubectl get daemonset -o wide

 

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

 【查看创建的pod】

kubectl get pod -o wide

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

 

Pod,DaemonSet,Deployment对比

 【Pod,DaemonSet,Deployment对比:】

Pod每次只能给一个工作节点创建一个Pod实例。

DaemonSet一次性给每个工作节点创建一个Pod实例,不能扩容,3个工作节点总共创建3个Pod。

Deployment可以创建多个Pod实,不受工作节点限制,将Pod均衡的分配到每个工作节点, Pod实例可以多于也可以小于工作节点的个数,方便扩缩容。

 

kubectl  pod管理命令

【用yaml文件创建Pod|Daemonset|Deployment】 kubectl create -f xxx.yaml

【查看pod】:kubectl get pod demo1-mvcone

【查看DaemonSet】:kubectl get daemonset demo1-mvcone

【查看Deployment】:kubectl get deployment demo1-mvcone

【删除Pod】:kubectl delete pod demo1-mvcone

【删除DaemonSet】: kubectl delete daemonset demo1-mvcone

【删除Deployment】: kubectl delete deployment demo1-mvcone

 

二进制部署k8s集群(7):创建(Pod,DaemonSet, Deployment)验证kubernetes集群

上一篇:HTML基础 meta refresh 网页定时刷新


下一篇:Android 性能优化之内存泄漏检测以及内存优化(中)