k8s基础命令使用
文章目录用kubeadm创建Cluster初始化Master和添加节点启动pod网络查看相关命令创建相关命令删除相关命令用label控制Pod的位置edit命令update rollout命令其他命令对kubernetes感兴趣的可以加群885763297,一起玩转kubernetes用kubeadm创建Cluster#自动去拉取所必须的imageskubeadm config ima...
·
文章目录
对kubernetes感兴趣的可以加群885763297,一起玩转kubernetes
用kubeadm创建Cluster
#自动去拉取所必须的images
kubeadm config images pull
初始化Master和添加节点
#重置:
kubeadm reset
kubeadm init --apiserver-advertise-address 192.168.10.128 --pod-network-cidr=172.16.0.0/16
#--apiserver-advertise-address 指明用Master的那个interface与Cluster的其它节点通信,如果不写,会选择默认网卡
#--pod-network-cidr指定pod网络的范围,kubernetes支持多种网络方案
#创建token
kubeadm token create
#获取ca证书sha256编码hash值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
#添加k8s-node节点
kubeadm join 192.168.10.128:6443 --token b1kh6v.q7nla6j43p2t3fk5 --discovery-token-ca-cert-hash sha256:5b90bf71151276a9b9ca649ae48e6861fe435baca78a139cf97eff8f8e2dd58b
启动pod网络
#pod网络有flannel、canal
kubectl apply -f [podnetwork].yaml
查看相关命令
#查看kubeadm生成的token
kubeadm token list
kubectl get nodes #查看节点的状态:
kubectl get pod --all-namespaces #查看pod的状态
#--all-namespaces #查看全部namespaces的pod
kubectl get pod --all-namespaces -o wide #查看pod在各个node上面的分布
#-o wide #查看pod的分布情况
kubectl get deployment [nginx-deployment] #查看部署状态
kubectl get deployment --namespace=kube-system #查看系统namespa中的kube-dns组件
kubectl get replicaset #查看部署状态
kubectl get daemonset --namespace=kube-system #查看用daemonset运行的系统组件
kubectl get node --show-labels #查看node的label
kubectl get job --show-all #查看job任务
kubectl get cronjob #查看cronjob任务
kubectl get namespace #查看运行中的namespace
kubectl get pv #查看pv
kubectl get pvc #查看pvc
kubectl get secret [mysecret] #查看存在的secret
kubectl get configmap [myconfigmap] #查看存在的configmap
kubectl describe pod <Pod Name> [--namespace=kube-system] #查看pod的具体运行情况,或者启动日志
kubectl describe deployment #了解deployment的详细信息
kubectl describe replicaset #了解replicaset的详细信息
kubectl describe secret [mysecret] #查看secret条目的key
kubectl describe configmap [myconfigmap] #查看configmap
kubectl logs myjob-nfkxk #查看job执行的结果
创建相关命令
#创建token
kubeadm token create
#获取ca证书sha256编码hash值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
kubectl run httpd-app --image=httpd --replicas=2 #运行俩个pod
#httpd-app #命名为httpd-app
#--image=httpd #镜像名
#replicas=2 #启动俩个pod
#通过配置文件启动
kubectl apply -f nginx.yaml
kubectl apply -f httpd.v1.yml --record
#--record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。
#可以通过kubectl rollout history deployment httpd来查看revison历史记录
#创建namespace:
kubectl create namespace weave
kubectl create configmap myconfigmap --from-file=./logging.conf #通过--from-file方式创建configmap
kubectl create secret generic mysecret --from-literal=username=admin --from-literal=password=12345 #通过--from-literal方式创建secret
删除相关命令
kubectl delete deployment nginx-deployment #删除deployment任务
kubectl delete -f nginx.yml #删除deployment任务
kubectl delete pods <pod> --grace-period=0 --force #删除pod
kubectl delete pvc mypvc1 #删除pvc中的mypvc1
用label控制Pod的位置
kubectl label node k8s-node1 disktype=ssd #标注node1的磁盘类型是ssd
kubectl get node --show-labels #查看node的label
kubectl lable node k8s-node1 disktype-
edit命令
kubectl edit daemonset kube-proxy --namespace=kube-system #查看kube-proxy的yml文件
kubectl edit secret mysecret #查看value
update rollout命令
kubectl apply -f httpd.v1.yml --record
#--record 作用是将当前命令记录到revision记录中,这样就知道每个revison对应的那个配置文件。
#可以通过kubectl rollout history deployment httpd来查看revison历史记录
kubectl rollout history history deployment #查看revison历史记录
kubectl rollout undo deployment httpd --to-revision=1 #指定一个版本,回滚
其他命令
echo -n root | base64 #base64加密
echo -n MSDF32D | base64 --decode #反解码
#自动补全功能
echo "source <(kubectl completion bash)" >> ~/.bashrc
#helm自动补全功能
helm completion bash > .helmrc echo "source .helmrc" >> .bashrc
#查看集群信息
kubectl cluster-info
#查看apiserver的版本,和已经使用的api
kubectl api-versions
#将master当做node使用
kubectl taint node master node-role.kubernetes.io/master-
#取消master当做node
kubectl taint node master node-role.kubernetes.io/master="":NoSchedule
#踢出节点
kubectl drain nodeName --delete-local-data --force --ignore-daemonsets
kubectl delete node nodeName
对kubernetes感兴趣的可以加群885763297,一起玩转kubernetes
更多推荐
已为社区贡献8条内容
所有评论(0)