首页 > 技术文章 > k8s

iancloud 2021-07-15 14:47 原文

 
创建一个名为mynamespace的命名空间
cat mynamespace.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: mynamespace
创建命令与创建pod和service相同
查看所有namespace命令:kubectl get namespace/ns(ns 为简写)
查看服务命令 kubectl get svc –o wide 服务的CLUSTER-IP 是服务的 VIP
查看详细的描述信息:Kubectl describe svc [service-name]
销毁服务service的销毁和pod的销毁方法相同,命令: kubectl delete –f [x-service.yaml]
 
创建pod:命令格式: kubectl create –f [yaml文件]
使用RUN命令直接创建:命令格式:kubectl run –i –t [pod名称] –image=[镜像名称]
kubectl run -i -t busybox --image=busybox --namespace=mynamespace --replicas=5  --replicas 指定副本数 常用参数
查看POD  kubectl get pods -o wide –n [namespace名称]    更加详细的信息命令格式: kubectl describe [po/deploy] [名称]  
删除POD,第一种方式是重新编辑yaml文件 如果文件指定多个副本数将其改为0,第二种方式使用 kubectl delete –f m命令
查看一个 pod 的具体日志,就可以通过kubectl logs <pod名>来查看
查看 pod kubia-manual的配置项:kubectl get pod kubia-manual -o yaml
 
Pod 副本数动态缩放
方法1 使用命令操作副本数量,上面的yaml文件是定义了2个pod副本,我们通过命令扩容到5个,使用scale命令 kubectl scale rc redis-slave --replicas=5
方法2 修改配置达成缩容扩容,命令 :kubectl edit  rc/deployment [rc/deployment-name]
方法3 修改 yaml文件重构达成目的,重构命令:kubectl replace -f x.yaml 修改配置文件进行重构即可,这个是需要释放已存在的pod,然后创建新的pod的过程
 
Docker进入容器指令为:docker exec –it 容器ID/name sh/bash
K8s进入到pod中容器中指令:kubectl exec –it pod-name sh/bash
拷贝一个文件到pod指定目录命令:kubectl cp file/dir  <some-pod>:某目录
 
查看已经构建的服务使用的端口
查看全部的包括宿主机的,命令:kubectl get endpoints
只查看rc/deploy相关的端口,kubectl get ep [rc/deploy-name]
 
当资源可以使用create 创建时,可以使用 -o yaml 和 --dry-run 查看yaml文件如何写
-o yaml  以yaml格式输出
--dry-run 测试创建,不会真的创建资源
另外一种方法导出摸个pod/deploy yaml文件 用于模板文件可以修改为其他的pod/deploy的yaml
kubectl get pods x-pod -o yaml --export
查看 node标签 kubectl get nodes --show-labels
 
kubectl explain 解释配置
kubectl explain pod
kubectl explain pod.matedata
 
kubeadm init  --kubernetes-version=v1.19.0 --image-repository=registry.aliyuncs.com/google_containers  --apiserver-advertise-address=192.168.11.154 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.1.0.0/16
 
kubeadm join 192.168.11.154:6443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:d47c39fb58050c4169e7d13807c07bce0dba7371e69ece58d29db60cdd3b9064
 
在/etc/docker下创建daemon.json并编辑:
 
vi /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"]
}
systemctl restart docker
systemctl status docker

推荐阅读