一、k8s配置文件位置
k8s配置文件位于k8s集群中的master节点上,一般为/etc/kubernetes/目录下的配置文件。其中主要有以下几种:
/etc/kubernetes/admin.conf # 后台管理的kubeconfig文件,可以直接使用kubectl命令行工具进行管理
/etc/kubernetes/kubelet.conf # kubelet的kubeconfig文件,用于管理节点上的kubelet进程
/etc/kubernetes/controller-manager.conf # 控制器管理器的kubeconfig文件,用于管理控制器
/etc/kubernetes/scheduler.conf # 调度器的kubeconfig文件,用于管理调度器
二、k8s配置文件挂载
k8s配置文件可以挂载到pod的容器中使用,一般需要在pod的yaml文件中进行挂载:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- name: config
mountPath: /etc/nginx/
volumes:
- name: config
configMap:
name: my-config
上述的yaml文件中,将名为my-config的configMap挂载到了my-pod的my-container容器的/etc/nginx/目录下。
三、k8s配置文件名称
k8s配置文件一般使用yaml格式进行编写,文件名可以自定义,一般使用deployment,service,pod等k8s资源的名称,例如:
apiVersion: v1 kind: ConfigMap metadata: name: my-config data: username: myusername password: mypassword
四、k8s配置文件目录
k8s配置文件一般位于k8s集群的master节点上的/etc/kubernetes/目录下,其中主要包括以下几个目录:
/etc/kubernetes/manifests/ # k8s集群内置的容器应用的manifests文件,包括kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy
/etc/kubernetes/pki/ # 存储k8s集群的所有证书与私钥
/etc/kubernetes/scheduler/ # scheduler的配置文件目录
/etc/kubernetes/manifests/etcd.yaml # 存储etcd集群的配置文件
五、k8s配置文件yaml格式
k8s配置文件一般使用yaml格式进行编写,以下是一个pod的yaml示例:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
六、k8s配置文件格式
k8s配置文件一般使用yaml格式进行编写,其中主要包括以下几个部分:
apiVersion: v1 # API版本,例如v1、apps/v1等
kind: Pod # 配置文件对应的k8s资源种类,例如Pod、Service、Deployment等
metadata: # 元数据,例如name、labels等
name: my-pod
labels:
app: nginx
spec: # 配置文件所描述资源的具体内容
containers: # 软件容器的配置
- name: my-container
image: nginx
ports:
- containerPort: 80
name: http
restartPolicy: Always # 重启策略
七、k8s配置文件管理
k8s配置文件可以通过kubectl命令进行管理,以下是一些常用的kubectl命令:
kubectl apply -f filename.yaml # 对k8s集群执行yaml文件中定义的资源 kubectl delete -f filename.yaml # 删除yaml文件中定义的资源 kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=my-password # 创建名为my-secret的secret对象,并将两个键值对保存至my-secret对象的data中 kubectl edit pod my-pod # 编辑名为my-pod的pod kubectl get pods # 获取pod列表
八、k8s配置文件生成
k8s配置文件可以通过kubectl命令生成,以下是一些常用的kubectl命令:
kubectl create deployment nginx --image=nginx # 创建名为nginx的deployment资源 kubectl expose deployment nginx --port=80 --type=NodePort # 将nginx deployment资源暴露到节点端口80 kubectl create configmap my-config --from-literal=username=admin --from-literal=password=my-password # 创建名为my-config的configMap对象,并将两个键值对保存至my-config对象的data中
九、k8s配置文件镜像拉取策略选取
k8s配置文件中可以指定imagePullPolicy字段来设置镜像拉取策略,例如:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
imagePullPolicy: IfNotPresent
上述yaml文件中的imagePullPolicy设为IfNotPresent表示如果本地有相同镜像则不拉取,否则拉取。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/309209.html
微信扫一扫
支付宝扫一扫