Kubernetes基础知识

版权声明:原创作品,转贴请注明出处! https://blog.csdn.net/sa19861211/article/details/90487995

1. kubeadm命令

1.1 初始化Kubernetes 集群主节点

kubeadm init <args>

1.2 给集群添加节点

kubeadm join

1.3 列出、创建和删除令牌

kubeadm token

2. kubectl命令

查看kubectl版本

kubectl version
  • Node

以获取群集节点的名称

kubectl get nodes
  • Pod

1、查看pod信息

kubectl get pod

2、查看特定pod的状态

kubectl get -f myapp.yaml

3、查看pod的yaml

kubectl get pods frontend-9si5l -o yaml

4、删除service

kubectl delete services hello-minikube

5、删除deployment

kubectl delete deployment hello-minikube
  • Namespace

1、查看指定context的pod信息

kubectl get pods --context=minikube

2、列出集群中当前的namespace

kubectl get namespace

3、查询上下文中的配置

kubectl config view | grep namespace

4、查看什么Kubernetes资源在(不在)命名空间

kubectl api-resources --namespaced=true|false
  • Selector

1、根据字段选择器过滤pod

kubectl get pods --field-selector ""

2、择不在default命名空间中的所有Kubernetes服务

kubectl get services --field-selector metadata.namespace!=default
  • Init Container

1、查看init容器的log

kubectl logs myapp-pod -c init-mydb
  • Cron Job

1、列出所有的Job

kubectl get jobs

2、 查看Cron Job的状态信息

kubectl get cronjob hello

3、等待并观察创建的 Job

kubectl get jobs --watch

4、删除Cron Job

kubectl delete cronjob hello

5、删除当前命名空间中的所有 Job

kubectl delete jobs --all

6、删除Job

kubectl delete jobs/pi

  kubectl delete -f ./job.yaml
  • ReplicaSet

1、将frontend.yaml提交到Kubernetes集群,将创建已定义的副本集及其管理的Pod

kubectl apply -f https://kubernetes.io/examples/controllers/frontend.yaml

2、查看已部署的副本集信息

kubectl get rs

3、检查副本集状态

kubectl get rs
  • ReplicationController

1、检查ReplicationController的状态

kubectl describe replicationcontrollers/nginx
  • Deployment

1、自动扩容

kubectl scale deployment nginx-deployment --replicas=10
  • Service

1、查看Service信息

kubectl get svc my-nginx

2、查看Service描述信息

kubectl describe svc my-nginx

3、查看Endpoinit信息

kubectl get ep my-nginx
  • Ingress

1、查看Ingress描述信息

kubectl describe ingress simple-fanout-example

2、编辑Ingress

kubectl edit ingress test

kubectl replace -f 修改后的Ingress yaml文件
  • Label

1、将标签附加到节点

kubectl label nodes <node-name> <label-key>=<label-value>

2、检查节点现在是否有标签来验证它是否有效

kubectl get nodes --show-labels

3、查看给定节点的完整标签列表
kubectl describe node “nodename”

  • Taints and Tolerations

1、taint一个节点

kubectl taint nodes node1 key1=value1:NoSchedule
kubectl taint nodes node1 key1=value1:NoExecute
kubectl taint nodes node1 key2=value2:NoSchedule
  • Secret

1、使用 kubectl创建Secret

#Create files needed for rest of example.
echo -n "admin" > ./username.txt
echo -n "1f2d1e2e67df" > ./password.txt
kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt

2、查看Secret

kubectl get secrets
kubectl get secret mysecret -o yaml

3、手工创建Secret

$ echo -n "admin" | base64
YWRtaW4=
$ echo -n "1f2d1e2e67df" | base64
MWYyZDFlMmU2N2Rm

在secret.yaml文件中配置Secret 对象:

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm

使用kubectl create命令创建Secret

kubectl create -f ./secret.yaml

解码密码字段:

echo "MWYyZDFlMmU2N2Rm" | base64 --decode

猜你喜欢

转载自blog.csdn.net/sa19861211/article/details/90487995