常用操作
- 编写 yaml
################################################################################ # 配置 ################################################################################ apiVersion: apps/v1 # 版本号 kind: Deployment # 无状态应用 metadata: # 元数据信息 name: testva-pod # 资源的名称 spec: # 资源需要的参数属性 replicas: 3 # 定义副本数量 selector: # 定义标签选择器 matchLabels: # 定义匹配标签 app: testv1 # 匹配上面的标签,需与上面的标签定义的app保持一致 template: # 定义业务模板 metadata: # 模板元数据信息 labels: # 定义资源标签 app: testv1 # app标签名 spec: # 资源需要的参数属性 tolerations: # 定义容忍声明 - operator: "Exists" # 容忍 containers: # Pod中容器列表 - name: testv1 # 名称 image: 10.1.10.118:8088/devtest/test:v1 # 镜像名称 ports: # 设置端口 - containerPort: 8011 # 对service暴露端口 ------------------------------------------------- apiVersion: v1 # 版本号 kind: Service # 定义服务 metadata: # 元数据信息 name: testv1-app-svc # 名称 spec: # 资源需要的参数属性 type: NodePort # 外部访问类型 ports: # 定义端口类型 - protocol: TCP # 协议 port: 8022 # 端口号 targetPort: 8011 # 目标端口号 selector: # 选择器 app: testv1 # 指定应用 ################################################################################ # 完整示例 ################################################################################ apiVersion: apps/v1 kind: Deployment metadata: name: testva-pod spec: replicas: 3 selector: matchLabels: app: testv1 template: metadata: labels: app: testv1 spec: tolerations: - operator: "Exists" containers: - name: testv1 image: 10.1.10.118:8088/devtest/test:v1 ports: - containerPort: 8011 ----------------------------------------------- apiVersion: v1 kind: Service metadata: name: testv1-app-svc spec: type: NodePort ports: - protocol: TCP port: 8022 targetPort: 8011 selector: app: testv1
- 启动 POD
kubectl create -f testv1.yaml
- 删除 POD
kubectl delete -f testv1.yaml
- 查看所有 Service
kubectl get svc --all-namespaces
- 查看所有 POD
kubectl get pod
- 查看k8s版本
kubectl version
- 查看所有命名空间
kubectl get namespace
- 查看管理员
kubectl -n kube-system get secret|grep admin-token
- 获取某个管理员的Token
# kubectl -n kube-system describe secret [管理员名称] kubectl -n kube-system describe secret admin-token-tmvl6
- 。。。
K8s拉取Harbor私有仓库镜像
- 首先在服务器上使用Docker命令登录到Harbor。
# 执行登录命令,并输入账户密码。 sudo docker login 地址:端口
- 创建授权文件.
# 一般会在当前用户下生成 sudo vim ~/.docker/config.json # 或者在root目录 sudo vim /root/.docker/config.json ######################################################## { "auths": { "10.1.10.118:8088": { "auth": "xxxxxxxxxxxxxxxxxxx" } } } ######################################################## # 使用命令将上面的内容进行base64转换 cat /root/.docker/config.json |base64 -w 0 # 创建 secret.yaml 并将上面得到的 base64 字符串复制其中 vim secret.yaml ######################################################## apiVersion: v1 kind: Secret metadata: name: login type: kubernetes.io/dockerconfigjson data: .dockerconfigjson: 此处为上面得到的base64字符串 ########################################################
- 创建对象,完成配置。
# 创建对象 kubectl create -f secret.yaml
K8s修改Service
- 查看所有svc
# 查看所有svc,并找到想要修改的。 kubectl get svc --all-namespaces
- 修改指定svc
# 执行命令后会打开vim进行修改 # kubectl edit svc/[服务名称] -n [命名空间] kubectl edit svc/kubernetes-dashboard -n kubernetes-dashboard