• 自学k8s-常规命令行


    Pod 是容器的集合,通常会将紧密相关的一组容器放到一个 Pod 中,同一个 Pod 中的所有容器共享 IP 地址和 Port 空间,也就是说它们在一个 network namespace 中。
    Pod 是 Kubernetes 调度的最小单位,同一 Pod 中的容器始终被一起调度。
    部署应用
    执行命令:
    kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
    kubectl run 部署了一个应用,命名为 kubernetes-bootcamp。
    Docker 镜像通过 --image 指定。
    --port 设置应用对外服务的端口


    查看当前的 Pod
    kubectl get pods

    访问应用
    默认情况下,所有 Pod 只能在集群内部访问。为了能够从外部访问应用,我们需要将容器的端口映射到节点的端口。
    kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080 (猜测这应该是随机映射主机的3000以上的端口)
    执行命令 kubectl get services 可以查看应用(容器)被映射到节点的哪个端口,猜对了

    Scale 应用
    默认情况下应用只会运行一个副本,可以通过 kubectl get deployments 查看副本数。
    将副本数增加到 3 个
    kubectl scale deployments/kubernetes-bootcamp --replicas=3
    通过 kubectl get pods 也可以看到当前 Pod 也增加到 3 个,通过 curl 访问应用,可以看到每次请求发送到不同的 Pod,三个副本轮询处理,这样就实现了负载均衡。
    要 scale down 也很方便,执行命令:
    kubectl scale deployments/kubernetes-bootcamp --replicas=2

    滚动更新
    当前应用使用的 image 版本为 v1,执行如下命令将其升级到 v2:(猜测本质是用新的镜像创建新的应用后,再把老的应用退出,更新的时候是该应用的所有副本都更新)
    kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
    通过 kubectl get pods 可以观察滚动更新的过程:v1 的 Pod 被逐个删除,同时启动了新的 v2 Pod。更新完成后访问新版本应用。(猜测正确)
    如果要回退到 v1 版本也很容易,执行 kubectl rollout undo 命令:
    kubectl rollout undo deployments/kubernetes-bootcamp

  • 相关阅读:
    NTP on FreeBSD 12.1
    Set proxy server on FreeBSD 12.1
    win32 disk imager使用后u盘容量恢复
    How to install Google Chrome Browser on Kali Linux
    Set NTP Service and timezone on Kali Linux
    Set static IP address and DNS on FreeBSD
    github博客标题显示不了可能是标题包含 特殊符号比如 : (冒号)
    server certificate verification failed. CAfile: none CRLfile: none
    删除文件和目录(彻底的)
    如何在Curl中使用Socks5代理
  • 原文地址:https://www.cnblogs.com/potato-chip/p/13931746.html
Copyright © 2020-2023  润新知