K8S 基础使用学习记录
常用操作
- 编写 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