k8s系列

k8s操作

2021-08-25  本文已影响0人  汤敏正

k8s的基本操作

命名空间

创建命名空间

kubectl create namespace xxx

或者

apiVersion: v1
kind: Namespace
metadata:
  name: <insert-namespace-name-here>

kubectl create -f ./my-namespace.yaml

删除命名空间

kubectl delete namespaces xxx
警告: 这会删除名字空间下的 所有内容 !

查询

POD

查询某命名空间下所有的pod

kubectl get pod -n 命名空间

集群情况

kubectl cluster-info

查询configmap

kubectl get configmap coredns -n kube-system
kubectl get configmap coredns -n kube-system -o yaml

describe

kubectl describe pod nginx-deployment-559d658b74-6czzf -n test

endpoints

kubectl get endpoints -n test

svc

kubectl get svc -n test     

删除

delete

kubectl delete all -l app=my-app

创建

APPLY

kubectl apply -f xxx.yaml

CREATE

kubectl create deployment xxx --image=xxx -n=xxx

REPLACE

kubectl replace deployment xxx --image=xxx -n=xxx

两者区别

1)kubectl create命令,是先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的

(2)kubectl create命令,用同一个yaml文件执行替换replace命令,将会不成功,fail掉。

kubectl create命令可创建新资源。 因此,如果再次运行该命令,则会抛出错误,因为资源名称在名称空间中应该是唯一的。
kubectl apply命令将配置应用于资源。 如果资源不在那里,那么它将被创建。 kubectl apply命令可以第二次运行,因为它只是应用如下所示的配置。 在这种情况下,配置没有改变。 所以,pod没有改变。

在kubectl create ,我们指定一个特定的动作,在这种情况下create ,因此它是必要的 。
 在kubectl apply命令中,我们指定系统的目标状态,并且不指定特定操作,因此声明性 。 我们让系统决定采取什么行动。 如果资源不在那里,它将创建它,如果资源在那里,那么它将配置应用于现有资源

简单来说,如果在单个文件上运行操作以创建资源,则create和apply基本相同。 但是, apply允许您在目录下的多个文件上同时创建和修补。
GitHub-w140

go环境搭建

环境变量
  1. k8s中是获取镜像文件来作为编排,但是我们有很多数据库等相关信息不能直接写在镜像里面,这个时候我们就可以通过k8s的yaml文件进行编排容器的时候设置环境变量

  1. go可以通过导入”os”包通过os包中的Getenv方法来获取
package main

import "fmt"
import "os"

func main(){
    var JAVAHOME string
    JAVAHOME = os.Getenv("JAVA_HOME")
    fmt.Println(JAVAHOME)
}
上一篇 下一篇

猜你喜欢

热点阅读