Bootstrap

笔记记录 k8s操作

docker下载arm架构的镜像
docker pull centos  --platform arm64

其中华为鲲鹏、飞腾CPU采用的是ARM架构,龙芯采用的是MIPS架构,而兆芯、海光CPU采用的是X86架构,申威采用的是Alpha架构

docker查看容器的日志文件目录
docker inspect --format='{ {.LogPath}}' containername

跨版本回滚
kubectl rollout deployments.apps myweb --
查看apiversion
kubectl api-resources
kubectl api-resources  -o wide --namespaced=true/false
查看版本历史信息
kubectl rollout history deployment myweb


kubernetes数据管理
多种卷
 emptyDir:格式
   volumes:
   - name:shared
     emptyDir:{}
   
 
kubectl create service clusterip mysql --tcp=3306:3306 --dry-run=client -o yaml > mysql.yaml

secret(加密)和configmap(非加密)

解secret:
1、kubectl get secret -n namespace
2、kubec    tl edit secret secretname -n namespace  
   把dockerconfigjson复制下来
3、echo"复制的dockerconfigjson" | base64 --decode

一、创建secret的4种方式

1、kubectl create secret generic mysecret1 --from-literal=username=admin --from-literal=password=111

2、先创建俩个文件 usernmae和password  
   echo admin > username
   echo 111 > password
 kubectl create secret generic mysecret2 --from-file=username --from-file=password

3、使用--from-env-file创建
   cat << ok > secret.txt
  > username=admin
  > password=111
  > ok
  kubectl create secret generic mysecret30 --from-env-file=secret.txt

4、使用yaml文件
  kubectl create secret generic mysecret4 --from-literal=username=zhangsan --from-literal=password=123456 --dry-run=client -o yaml > mysecret4.yaml

使用yaml文件编写的secret
apiVersion: v1
kind: Pod
metadata:
  labels:
    run: mypod
  name: mypod
spec:
  containers:
  - args:
    - /bin/sh
    - -c
    - sleep 20000
    image: busybox
    name: mypod
    env:
      - name: SECRET_USERNAME
        valueFrom:
             secretKeyRef:
                name: mysecret4
                key: username
      - name: SECRET_PASSWORD
        valueFrom:
             secretKeyRef:
                name: mysecret4
                key: password
    在容器中查看变量


apiVersion: v1
kind: Pod
metadata:
  labels:
    run: mypod
  name: mypod
spec:
  containers:
  - args:
    - /bin/sh
    - -c
    - sleep 20000
    image: busybox
    name: mypod
    volumeMounts:
    - mountPath: /etc/foo
      name: foo
  volumes:
    - name: foo
      configMap:
        name: myconfigmap50
        items:
        - key: log.txt
          path: log.txt

查看集群所有命名空间下的pod
kubectl get pod -o wide -A

查看集群中node的资源
kubectl top nodes
kubectl describe nodes

SaaS(Software as a Service–软件即服务)
PaaS(Platform as a Service–平台即服务)
IaaS(Infrastructure as a Service–基础架构即服务)。

1、创建deployment,命名myweb,镜像ningx,副本两个
  kubectl create deployment myweb --image=nginx --replicas=2

2、查看deployment
  kubectl get deployments.apps

3、查看myweb这么depolyment
  kubectl get deployments.apps myweb

4、查看myweb的详细信息
  kubectl describe deployments.apps myweb

5、查看副本集
  kubectl get replicasets.apps

6、查看myweb副本集的信息
  kubectl get replicasets.apps myweb-855c667ff6

7、查看pod
  kubectl get pod -o wide

8、查看某一个pod的详细信息
  kubectl bescribe pod myweb-855c667ff6-6bsk8

;