kubectl命令行管理工具

kubectl命令行管理工具

avatar

管理周期

1.创建

kubectl run nginx –replicas=3 –image=nginx:1.14 –port=80

kubectl get deploy,pods

2.发布

kubectl expose deployment nginx –port=80 –type=NodePort –target-port=80 –name=nginx-service

kubectl get service

3.更新

kubectl set image deployment/nginx nginx=nginx:1.15

4.回滚

kubectl rollout history deployment/nginx

kubectl rollout undo deployment/nginx

5.删除

kubectl delete deploy/nginx

kubectl delete svc/nginx-service

命令

1
2
3
4
5
6
#创建
kubectl run <deployment> --replicas=<副本数> --image=<image> --port=<port>
#获取所有deploy
kubectl get deploy
#获取某个deploy
kubectl get deploy/nginx

kubectl远程连接k8s集群

创建sh脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
APISERVER=$1
SSL_DIR=$2

# 创建kubelet bootstrapping kubeconfig
export KUBE_APISERVER="https://$APISERVER:6443"

# 设置集群参数
kubectl config set-cluster kubernetes \
--certificate-authority=$SSL_DIR/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=config


#设置用户项中cluster-admin用户证书认证字段
kubectl config set-credentials cluster-admin \
--certificate-authority=$SSL_DIR/ca.pem \
--client-key=$SSL_DIR/admin-key.pem \
--client-certificate=$SSL_DIR/admin.pem \
--kubeconfig=config

#设置默认上下文
kubectl config set-context default --cluster=kubernetes --user=cluster-admin --kubeconfig=config

#设置当前环境的default
kubectl config use-context default --kubeconfig=config

执行脚本文件生成config文件
eg:

config.sh ```
1
2
3
4

```bash
mkdir ~/.kube
cp config ~/.kube

证书文件需与master节点生成的证书一致

执行kubectl get node 即可看到集群信息

YAML配置文件

YAML 是一种简洁的非标记语言。

语法格式:

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

YAML配置文件管理资源

  • 用run命令生成
    kubectl run –image=nginx nginx -o yaml –dry-run > my-deploy.yaml
  • 用get命令导出
    kubectl get my-deploy/nginx -o=yaml –export > my-deploy.yaml
  • Pod容器的字段拼写忘记了
    kubectl explain pods.spec.containers
-------------本文结束感谢您的阅读-------------