码迷,mamicode.com
首页 > Web开发 > 详细

kubernets1.10.1--基本操作(一)

时间:2018-05-06 20:05:48      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:k8s   kubernets   

Kubectl管理工具 在node节点部署

# 设置集群项中名为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
# 设置默认环境项为default
kubectl config use-context default

命令

create
通过文件名或标准输入创建资源
expose
将一个资源公开为一个新的Service
run
在集群中运行一个特定的镜像
set
在对象上设置特定的功能
get
显示一个或多个资源    
explain
文档参考资料。
edit
使用默认的编辑器编辑一个资源。
delete
通过文件名、 标准输入、 资源名称或标签选择器来删除资源。
rollout
管理资源的发布
rolling-update
对给定的复制控制器滚动更新
scale
扩容或缩容Pod数量, Deployment、 ReplicaSet、 RC或Job
autoscale
创建一个自动选择扩容或缩容并设置Pod数量
certificate
×××资源
cluster-info
显示集群信息
top
显示资源(CPU/Memory/Storage) 使用。 需要Heapster运行
cordon
标记节点不可调度
uncordon
标记节点可调度
drain
维护期间排除节点
taint

命令

describe
显示特定资源或资源组的详细信息
logs
在一个Pod中打印一个容器日志。 如果Pod只有一个容器, 容器名称是
可选的
attach
附加到一个运行的容器
exec
执行命令到容器
port-forward
转发一个或多个本地端口到一个pod
proxy
运行一个proxy到Kubernetes API server
cp
拷贝文件或目录到容器中
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.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.13
        ports:
        - containerPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  type: NodePort

kubectl   create -f nginx-deployment.yml

kubernets1.10.1--基本操作(一)

标签:k8s   kubernets   

原文地址:http://blog.51cto.com/hequan/2113307

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!