k8s笔记6-kubectl、YAML的用法汇总

学习阿良老师的视频总结 https://ke.qq.com/course/366778

一、kubectl工具

1、kubectl管理应用程序生命周期

# 创建
kubectl run nginx --replicas=3 --image=nginx:1.14 --port=80
kubectl get deploy,pods
# 发布
kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service
kubectl get service
# 更新nginx版本
kubectl set image deployment/nginx nginx=nginx:1.15
# 回滚
kubectl rollout history deployment/nginx
kubectl rollout undo deployment/nginx
# 删除
kubectl delete deploy/nginx
kubectl delete svc/nginx-service

2、kubectl 远程连接k8s

在master中的k8s-cert文件夹中,生成admin证书相关文件

cat > admin-csr.json <
# server 地址,master地址;若为LB,则使用vip的地址
kubectl config set-cluster kubernetes --server=https://10.0.3.171:6443 \
 --certificate-authority=ca.pem --embed-certs=true --kubeconfig=config
kubectl config set-credentials cluster-admin --certificate-authority=ca.pem \
 --embed-certs=true --client-key=admin-key.pem --client-cerficate=admin.pem --kubeconfig=config
kubectl config set-context default --cluster=kubernetes --user=cluster-admin --kubeconfig=config
kubectl config use-context default --kubeconfig=config

生成以下文件

Cluster "kubernetes" set.
User "cluster-admin" set.
Context "default" created.
Switched to context "default".

将master中的kubectl、config复制到node中

scp config [email protected]:/root/
mv config ./kube
scp /opt/kubernetes/bin/kubectl [email protected]:/usr/bin
------可实现
kubectl get nodes

二、YAML配置文件管理资源

YAML的语法格式为:

  • 缩进表示层级关系
  • 不支持制表符“tab”缩进,使用空格缩进
  • 通常开头缩进2个空格
  • 字符后缩进1个空格,如冒号,逗号等
  • “—” 表示YAML格式,一个文件的开始
  • “#” 注释

运行yaml文件

kubectl create -f nginx-service.yaml
#用run命令生成yaml文件,dry-run尝试运行,但不会生成,看是否有语法错误
kubectl run nginx --image=nginx:latest --port=80 --replicas=3 --dry-run
# 尝试运行,并生成yaml文件
kubectl run nginx --image=nginx:latest --port=80 --replicas=3 --dry-run -o yaml > my-deploy.yaml
# 用get生成yaml文件
kubectl get deploy/nginx --export -o yaml > my-deploy2.yaml
# pod容器中的字段拼写忘记了
kubectl explain pods.spec.containers

你可能感兴趣的:(k8s搭建)