# 设置集群项中名为kubernetes的apiserver地址与根证书kubectl config set-cluster kubernetes --server=https://192.168.1.107:6443 --certificate-authority=ca.pem# 设置用户项中cluster-admin用户证书认证字段kubectl config set-credentials cluster-admin --certificate-authority=ca.pem --client-key=admin-key.pem --client-certificate=admin.pem# 设置环境项中名为default的默认集群和用户kubectl config set-context default --cluster=kubernetes --user=cluster-admin# 设置默认环境项为defaultkubectl config use-context default
命令
create通过文件名或标准输入创建资源expose将一个资源公开为一个新的Servicerun在集群中运行一个特定的镜像set在对象上设置特定的功能get显示一个或多个资源 ???explain文档参考资料。edit使用默认的编辑器编辑一个资源。delete通过文件名、 标准输入、 资源名称或标签选择器来删除资源。rollout管理资源的发布rolling-update对给定的复制控制器滚动更新scale扩容或缩容Pod数量, Deployment、 ReplicaSet、 RC或Jobautoscale创建一个自动选择扩容或缩容并设置Pod数量certificate×××资源cluster-info显示集群信息top显示资源(CPU/Memory/Storage) 使用。 需要Heapster运行cordon标记节点不可调度uncordon标记节点可调度drain维护期间排除节点taint
命令
describe显示特定资源或资源组的详细信息logs在一个Pod中打印一个容器日志。 如果Pod只有一个容器, 容器名称是可选的attach附加到一个运行的容器exec执行命令到容器port-forward转发一个或多个本地端口到一个podproxy运行一个proxy到Kubernetes API servercp拷贝文件或目录到容器中auth检查授权apply通过文件名或标准输入对资源应用配置patch使用补丁修改、 更新资源的字段replace通过文件名或标准输入替换一个资源convert不同的API版本之间转换配置文件label更新资源上的标签annotate更新资源上的注释completion用于实现kubectl工具自动补全api-versions打印受支持的API版本config修改kubeconfig文件(用于访问API, 比如配置认证信息)help所有命令帮助plugin运行一个命令行插件version打印客户端和服务版本信息
1、创建
kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80
2、查看
kubectl get deploy
kubectl get pods --show-labels
kubectl get pods -l app=example
kubectl get pods -o wide
3、发布
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service
kubectl describe service nginx-service
4、故障排查
kubectl describe TYPE NAME_PREFIX
kubectl logs nginx-xxx
kubectl exec –it nginx-xxx bash
5、 更新
kubectl set image deployment/nginx nginx=nginx:1.13
or
kubectl edit deployment/nginx
资源发布管理:
kubectl rollout status deployment/nginx
kubectl rollout history deployment/nginx
kubectl rollout history deployment/nginx --revision=3
kubectl scale deployment nginx --replicas=10
6、 回滚
kubectl rollout undo deployment/nginx-deployment
kubectl rollout undo deployment/nginx-deployment --to-revision=3
7、删除
kubectl delete deploy/nginx
kubectl delete svc/nginx-service
YAML配置文件管理资源
配置文件说明:
- 定义配置时,指定最新稳定版API(当前为v1) ;
- 配置文件应该存储在集群之外的版本控制仓库中。如果需要,可以快速回滚配置、重新创建和恢复;
- 应该使用YAML格式编写配置文件,而不是JSON。尽管这些格式都可以使用,但YAML对用户更加友好;
- 可以将相关对象组合成单个文件,通常会更容易管理;
- 不要没必要的指定默认值,简单和最小配置减少错误;
- 在注释中说明一个对象描述更好维护。
vim nginx-deployment.ymlapiVersion: extensions/v1beta1kind: Deploymentmetadata: ?name: nginx-deploymentspec: ?replicas: 1 ?template: ???metadata: ?????labels: ???????app: nginx ???spec: ?????containers: ?????- name: nginx ???????image: nginx:1.13 ???????ports: ???????- containerPort: 80---apiVersion: v1kind: Servicemetadata: ?name: nginx-servicespec: ?selector: ???app: nginx ?ports: ?- name: http ???port: 80 ???protocol: TCP ???targetPort: 80 ?type: NodePortkubectl ??create -f nginx-deployment.yml
kubernets1.10.1--基本操作(一)
原文地址:http://blog.51cto.com/hequan/2113307