初始化k8s集群
kubeadm init --apiserver-advertise-address=192.168.88.163 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.6 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
kubeadm reset 重新初始化
kubeadm token list 查看初始化master后的token
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2> /dev/null |openssl dgst -sha256 -hex|sed 's/^.* //' 生成密钥
在从节点执行加入master
kubeadm join 192.168.88.161:6443 --token 9hvyrf.4zn7tn1vi00uee70 --discovery-token-ca-cert-hash sha256:24f64ffbffe57948e4f412c3903769d8358ef76a261758268f4173fe8a69f307
kubectl get nodes 查看节点状态
kubectl get pods -n kube-system -o wide
set paste vim中设置缩进
创建一个nginx镜像
kubectl create deployment nginx --image nginx
暴露80端口
kubectl expose deployment nginx --port=80 --type=NodePort
查看80端口对外访问的端口是多少
kubectl get pod,svc
进入容器命令
kubectl exec -it -n default nginx-85b98978db-m6vsb bash
查看容器启动日志
kubectl logs calico-node-dcc8p -n kube-system
kubectl delete pod pod名 根据pod名删除pod
kubectl delete -f nginx-pod.yml 根据yml删除pod
kubectl logs -f pod名称 -c 容器名称 查看pod中指定容器的日志
kubectl scale deployment --replicas=4 cyh 对已经存在的deploy进行扩容pod数量
kubectl get deploy cyh -o yaml 将配置输出成yaml形式
kubectl create -f nginx-demo.yaml 通过文件形式创建pod
route -n 查看路由
kubectl edit svc kube-dns -n kube-system 编辑配置文件
kubectl get po -w -w类似watch监听的效果
kubectl get po --show-labels 查看设置的label标签
kubectl label po nginx-demo author=cyh 通过命令增加label
kubectl label po nginx-demo author=wqh --overwrite 通过命令修改label
kubectl get po -A -l type=app 根据标签进行匹配
kubectl get po -l 'test in (1.0.0,1.1.1)' 标签是1.0,0和1.1.1
kubectl get po -l type!=app,author=wqh 标签不是app且是wqh
kubectl rollout status deployment nginx-deploy 查看滚动更新的信息
kubectl rollout history deployment nginx-deploy 查看部署版本历史,用于回退版本
kubectl rollout history deployment nginx-deploy --revision=1 查看详细信息
kubectl rollout undo deployment nginx-deploy --to-revision=1 回退到指定版本
kubectl scale --replicas=6 deployment nginx-deploy 进行扩容操作
kubectl rollout pause deployment nginx-deploy 对修改的deploy进行暂停,不立马去更新部署deploy,因为可能涉及多次修改配置
kubectl rollout resume deployment nginx-deploy 总体修改完deploy后,进行更新操作
kubectl get sts 查看有状态服务statefulset
kubectl get pvc 查看挂载卷信息
kubectl run -it --image busybox dns-test --restart=Never --rm /bin/sh 退出容器就会删除掉,临时使用
kubectl scale sts web --replicas=5 对有状态服务进行扩容
对于有状态服务更新镜像的方式(滚动更新)
kubectl patch sts web --type='json' -p='[{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"nginx:1.9.1"}]'
kubectl rollout history statefulset web
kubectl rollout history statefulset web --revision=2
kubectl rollout status statefulset web
kubectl delete sts web 会级联删除,把sts,pod都删除
kubectl delete sts web --cascade=false 不会级联删除
kubectl label no k1 type=microservices 给k1节点加标签
kubectl get po -l app=logging 基于标签搜索pod
创建HPA,对deploy进行自动扩缩容,当达到资源限制后,就会扩容
kubectl autoscale deployment nginx-deploy --cpu-percent=20 --min=2 --max=5
使用以下命令需要安装metrics-server容器服务,直接在gitlab下载yaml文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml -O metrics-server-components.yaml
kubectl top -h 查看内存,cpu使用情况
kubectl top po 查看内存,cpu使用情况
kubectl get ep 查看端点endpoint