目 录CONTENT

文章目录

云原生 | K8s 实战

RobKing
2022-07-19 / 0 评论 / 0 点赞 / 183 阅读 / 616 字

云原生 | K8s 实战

通过kubectl发布服务

  1. 创建服务 hello-minikubel

    kubectl create deployment hello-minikube1 --image=registry.cn-hangzhou.aliyuncs.com/google_containers/echoserver:1.10
    
  2. 暴露端口

    kubectl expose deployment hello-minikube1 --type=LoadBalancer --port=8080
    
  3. 访问端口

    minikube service hello-minikube1
    

    image-20230513174642270

    image-20230513175339209

  4. 查看所有的deployment服务 kubectl get deployments

    查看pods kubectl get pods

    查看services kubectl get services 或者kubectl get svc可以知道映射到端口号

    查看创建的 Pod 和 Service kubectl get pod,svc -n kube-system

  5. 删除服务

    kubectl delete deployment -n default hello-minikube1 --force --grace-period=0
    

部署Nginx服务

# 创建一个部署,使用镜像nginx:latest 部署名称为hello-nginx
kubectl create deployment hello-nginx --image=nginx:latest

# 查看部署列表
kubectl get deployments

# 查看pods列表
kubectl get pods

# 查看时间
kubectl get events

# 查看集群配置
kubectl config view

# 导出一个部署的应用 80是容器对外暴露的端口,会被分配一个随机端口以供访问
kubectl expose deployment hello-nginx --type=NodePort --port=80

# 列出hello-nginx的信息 自动打开浏览器
minikube service hello-nginx

参考链接

Kubernets部署应用

  1. 定义预期状态,编写deployment.yaml文件

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-go-app
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: go-app
      template:
        metadata:
          labels:
            app: go-app
        spec:
          containers:
            - name: go-app-container
              image: rob1king1/minikube-go
              resources:
                limits:
                  memory: "128Mi"
                  cpu: "500m"
              ports:
                - containerPort: 3000
    

    Kubernetes Deployment 对象(清单文件的kind里指定的)表示运行在集群中的应用。文件里还指定了应用需要一个副本运行(replicas),以及运行的容器名和容器的镜像、资源大小等信息

    指令生成

    kubectl create deployment web --image=nginx -o yaml --dry-run  > nginx.yaml
    
  2. 使用deployment.yaml创建Deployment对象来运行Go应用程序的容器

    kubuctl apply -f delpyment.yaml
    
    kubectl create -f deployment.yaml
    
  3. 可以查看pods和services的状态,event的信息

  4. 暴露应用,可以输出到文件中yaml,然后apply即可

    kubectl expose deployment my-go-app --type=NodePort --name=go-app-svc --target-port=3000 
    
  5. 查看应用的端口和ip地址

    //查看ip
    minikube ip
    //查看端口
    kubectl get svc
    

    image-20230513175711962

  6. 列出hello-nginx的信息 自动打开浏览器

    minkube service go-app-svc
    

    image-20230513175635675

参考链接

0

评论区