1、本机集群kind

发布时间 2023-09-18 13:10:37作者: MaxBruce

原文:https://www.cnblogs.com/jayden-qiu/p/15706309.html

安装kubectl

1.22.4

 

安装kind(默认kubernetes版本为1.21.1)

go install sigs.k8s.io/kind@v0.11.1

 

保持docker在运行状态,创建集群

kind create cluster

 

保存 kubernetes config 下来

kind get kubeconfig > ~/kubeconfig.config

 

vscode 通过 kubernetes 插件可以连接到各个集群

 

命令行连接集群

复制代码
// 设置集群地址文件
export KUBECONFIG=~/kubeconfig.config

// 使用
kubectl cluster-info

// 删除地址文件
unset KUBECONFIG
复制代码

 

工作负载

Pod(逻辑上的物理主机)

一般一个Pod运行一个conatianer。一个Pod运行多个container的话是sidecar模式

新建a.yaml文件,拉取镜像运行

复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: 100m
            memory: 128Mi
复制代码

运行

kubectl apply -f a.yaml

查看当前运行的pods

kubectl get pods

 

利用插件,登录到pod实例

 

命令行登录到pod

复制代码
// 先获取pod实例名称
kubectl get pods

// 登录进入
kubectl exec -it nginx-deployment-8f6948fdf-6zrfz -- sh

// nginx-deployment-8f6948fdf-6zrfz  是 pod 名称
复制代码

 

管理集群上的nginx服务

新建b.yaml

复制代码
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
复制代码

执行

kubectl apply -f b.yaml 

查看集群运行的服务

kubectl get svc

测试

// 登录远程
kubectl exec -it nginx-deployment-8f6948fdf-6zrfz -- sh

// 测试 nginx-service 有没有启动
curl nginx-service

 

Deployment

删除集群上的 pods 及 deployment 

kubectl delete deployment --all

// 查看
kubectl get pods

 

集群物理层

节点

kubernetes master

control plane