2023-6-16 myluzh Kubernetes
0x01 特性 Service 通过 label 关联对应的 Pod Servcie 生命周期不跟 Pod 绑定,不会因为 Pod 重创改变 IP 提供了负载均衡功能,自动转发流量到不同 Pod 可对集群外部提供访问端口 集群内部可通过服务名字访问 0x02 创建Service(默认为ClusterIP类型) 创建一个 Service,通过标签hellohttp跟对应的Pod关联上 service.yaml apiVersion: v1 kind: Service metadata: name: hellohttp spec: selector: app: hellohttp #这里一定要跟pod的标签对应上要不然关联不起来 type: ClusterIP ports: - port: 8080 # 本 Service 的端口 targetPort: 8080 # 容器端口 服务的默认类型是ClusterIP,只能在集群内部访问,我们可以进入到 Pod 里面访问: kubectl exec -it pod-name -- ba...2023-6-16 myluzh Kubernetes
0x01 发布新版本 1.更新版本 方式一:原先镜像为hellohttp:v1,使用kubectl apply -f app.yaml发布,创建一个新的镜像为hellohttp:v2-error,修改app.yaml中镜像地址为image: registry.cn-hangzhou.aliyuncs.com/myluzh/hellohttp:v2-error,然后重新使用kubectl apply -f app.yaml发布。 方式二:也可以直接通过命令修改镜像,--record 表示把这个命令记录到操作历史中 [root@master ~]# kubectl set image deployment hellohttp hellohttp=registry.cn-hangzhou.aliyuncs.com/myluzh/hellohttp:v2-error --record Flag --record has been deprecated, --record will be removed in the future deployment.apps/hellohttp image updated #查看...2023-6-15 myluzh Kubernetes
# 部署应用 kubectl apply -f app.yaml # 查看 deployment kubectl get deployment # 查看 pod kubectl get pod -o wide # 查看 pod 详情 kubectl describe pod pod-name # 查看 log kubectl logs pod-name # 进入 Pod 容器终端, -c container-name 可以指定进入哪个容器。 kubectl exec -it pod-name -- bash # 伸缩扩展副本 kubectl scale deployment test-k8s --replicas=5 # 把集群内端口映射到节点 kubectl port-forward pod-name 8090:8080 # 查看历史 kubectl rollout history deployment test-k8s # 回到上个版本 kubectl rollout undo deployment test-k8s # 回到指定版本 kubectl rollout undo d...2023-6-15 myluzh Kubernetes
0x01 命令行部署 [root@master ~]# kubectl run testapp --image=ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 [root@master ~]# kubectl get pod NAME READY STATUS RESTARTS AGE testapp 0/1 ContainerCreating 0 16s 0x02 pod部署 1.编写pod.yaml apiVersion: v1 kind: Pod metadata: name: test-pod spec: # 定义容器,可以多个 containers: - name: test-k8s # 容器名字 image: ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 # 镜像 2.部署 [root@master ~]# kubectl apply -f ./pod.yaml ...2023-6-15 myluzh Kubernetes
0x01 前期准备 注意:k8s在1.24版本不支持docker容器,这边安装的是1.22版本。 注意:安装前需要关闭系统swap交换分区。 1.腾讯云上购买了3台CVM实例,其中一台为k8s-master 两台k8s-node节点。 k8s-master 内网IP:10.206.0.7 k8s-node1 内网IP:10.206.0.15 k8s-node2 内网IP:10.206.0.11 2.主节点需要组件: docker(也可以是其他容器运行时) kubectl 集群命令行交互工具 kubeadm 集群初始化工具 3.工作节点需要组件: docker(也可以是其他容器运行时) kubelet 管理 Pod 和容器,确保他们健康稳定运行。 kube-proxy 网络代理,负责网络相关的工作 0x02 开始安装 # 设置对应主机名(*所有节点) hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2 # 修...标签: k8s kubeadm kubernetes