k8s常用命令,创建命名空间以及k8s发布容器化应用操作

        k8s常用命令

kubectl get nodes   查看集群信息

kubectl delete node k8s-node1   删除节点

kubectl get service 查看service的信息

kubectl get pods --all-namespaces   查看所有名称空间内的资源

kubectl get pod,svc -n kube-system 同时查看多种资源信息

kubectl cluster-info 查看主节点

kubectl api-versions api查询

kubectl get namespace 查看所有命名空间

kubectl get namespace 命名空间名称 查看某一个命名空间   -n= namespace缩写

kubectl delete namespace 命名空间名称 删除命名空间

kubectl cp  my-pod:/var/log/ /tmp/   把pod里的文件拷贝出来

kubectl cp   /tmp  my-pod:/var/log/  把文件或者目录拷贝进pod容器  目录无需加参数

kubectl describe pod  pod-name  输出 Pod 的详细信息,包括容器的状态、事件信息和日志信息等。 通过查看 Pod 的事件和描述信息,可以确定 Pod 的状态和容器的运行情况,有助于排查 Pod 运行失败的原因。

创建命名空间操作

1.编写 yaml文件

vim namespace.yml

---

apiVersion: v1   #api版本

kind: Namespace  #类型---固定的

metadata:     #元数据

  name: ns-monitor  #名字自定义

  labels:

name: ns-monitor

kubectl apply -f namespace.yml    创建资源

kubectl get namespace                  查看资源是否生成

k8s发布容器化应用操作

 

Kubernetes 跟 Docker 等很多项目最大的不同,就在于它不推荐你使用命令行的方式直接运行容器(虽然 Kubernetes 项目也支持这种方式,比如:kubectl run),而是希望你用 YAML 文件的方式,即:把容器的定义、参数、配置,统统记录在一个 YAML 文件中,然后用这样一句指令把它运行起来:

YAML文件,对应到k8s中,就是一个API Object(API 对象)。当你为这个对象的各个字段填好值并提交给k8s之后,k8s就会负责创建出这些对象所定义的容器或者其他类型的API资源。

编写yaml文件内容如下

vim pod.yml

---

apiVersion: v1  #api版本,支持pod的版本

kind: Pod     #Pod,定义类型注意语法开头大写

metadata:     #元数据

  name: website   #pod名字自定义

  labels:

    app: website   #自定义,但是不能是纯数字

spec:    #指定的意思

  containers:   #定义容器

    - name: test-website   #容器名自定义

      image: daocloud.io/library/nginx   #使用镜像

      ports:

        - containerPort: 80   #容器暴露的端口

  nodeName: k8s-node2     加此参数可以指定node节点的名称

kubectl apply -f pod.yml     创建pod

kubectl apply -f pod.yaml  --validate 想看报错信息,加上--validate参数

kubectl get pods -o wide 查看pod运行在那个机器上

kubectl exec -it website /bin/bash  通过pod名称进入容器内部

kubectl delete pod website  、kubectl delete -f pod.yml   删除pod

create与apply的区别:

        create创建的应用如果需要修改yml文件,必须先指定yml文件删除,在创建新的pod。

如果是apply创建的应用可以直接修改yml文件,继续apply创建,不用先删掉。

k8sYAML语法规则:

    1. 大小写敏感

    2. 使用缩进表示层级关系

    3. 缩进时不允许使用Tab键,只允许使用空格

    4. 缩进的空格数不重要,只要相同层级的元素左侧对齐即可

    5. 表示注释,从这个字符一直到行尾,都会被解析器忽略

与本机的Namespace共享

vim pod.yml

---

apiVersion: v1

kind: Pod

metadata:

  name: webapp

  labels:

    app: webapp

spec:

  hostNetwork: true  #共享宿主机网络可以直接访问宿主机ip访问

  hostIPC: true  #共享ipc通信

  hostPID: true  #共享宿主机的pid

  containers:

    - name: test-webapp

      image: daocloud.io/library/nginx

      ports:

        - containerPort: 80

    - name: busybos

      image: daocloud.io/library/busybox

      stdin: true

      tty: true

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值