2023-7-12 myluzh Kubernetes
0x00 架构图 0x01 MasterNode *api server:集群对外的统一入口,以restful方式,交给etcd进行存储。 *scheduler:节点调度,选择node节点应用部署。 *controller-manager:处理集群常规后台任务,一个资源对应一个控制器。 *etcd:存储系统,用于保存集群相关数据。 0x02 WorkerNode *kubelet:master在worker创建的agent,管理本机容器生命周期的各种操作。 *kube-proxy:提供网络代理,负载均衡等操作。2023-7-4 myluzh Kubernetes
0x01 前言 如果一个集群中部署了多个应用,所有应用都在一起,就不太好管理,也可以导致名字冲突等。 我们可以使用 namespace 把应用划分到不同的命名空间,跟代码里的 namespace 是一个概念,只是为了划分空间。 0x02 命令 # 创建命名空间 kubectl create namespace testapp # 部署应用到指定的命名空间 kubectl apply -f app.yml --namespace testapp # 查询 kubectl get pod --namespace kube-system 0x03 增强工具 kubens 可以用 kubens 快速切换 namespace,kubens地址:https://github.com/ahmetb/kubectx 1.安装kubens sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx sudo ln -s ...标签: k8s kubernetes Namespace 命名空间
2023-6-30 myluzh Kubernetes
0x01 安装Helm 1.github安装helm curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash 2.国内加速源安装helm wget https://mirrors.huaweicloud.com/helm/v3.9.4/helm-v3.9.4-linux-amd64.tar.gz tar -zxvf helm-v3.9.4-linux-amd64.tar.gz sudo cp linux-amd64/helm /usr/local/bin/ helm version 0x02 添加Chart仓库 # 配置helm源地址 helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo add huaweicloud https://mirrors.huaweicloud.com/helm/ helm repo add bitnami https://chart...标签: k8s kubernetes helm
2023-6-28 myluzh Kubernetes
0x01 ConfigMap 数据库连接地址,这种可能根据部署环境变化的,我们不应该写死在代码里。 Kubernetes 为我们提供了 ConfigMap,可以方便的配置一些变量。 apiVersion: v1 kind: Pod metadata: name: my-app-pod spec: containers: - name: my-app image: my-app-image env: # 使用 ConfigMap 中的 DB_HOST 和 DB_PORT 配置 - name: DB_HOST valueFrom: configMapKeyRef: name: my-config-map key: DB_HOST - name: DB_PORT valueFrom: configMapKeyRef: name: my...标签: k8s kubernetes configmap secret
2023-6-20 myluzh Kubernetes
0x01 什么是 StatefulSet StatefulSet 是用来管理有状态的应用,例如数据库。 前面我们部署的应用,都是不需要存储数据,不需要记住状态的,可以随意扩充副本,每个副本都是一样的,可替代的。 而像数据库、Redis 这类有状态的,则不能随意扩充副本。 StatefulSet 会固定每个 Pod 的名字 0x02 部署 StatefulSet 类型的 Mongodb 1.创建mongo.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: mongodb spec: serviceName: mongodb replicas: 3 selector: matchLabels: app: mongodb template: metadata: labels: app: mongodb spec: containers: - name: mongo image: mongo:...标签: k8s kubernetes StatefulSet
2023-6-20 myluzh Kubernetes
0x01 下载yaml文件 下载合适自己版本的ymal文件,我这边k8s版本是1.23,所以合适的bashboard版本是v2.5.1 [root@master]# mkdir k8s-dashboard && cd k8s-dashboard [root@master k8s-dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml 在Service中增加type: NodePort与nodePort: 32000 [root@master k8s-dashboard]# vi recommended.yaml kind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort ports: - port...标签: k8s dashboard kubernetes