简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
接着根据提示输入用户名密码,完成之后会打印config.json文件生成的位置。然后通过config.json文件生成secret,如下。方括号中的地址填写镜像仓库的地址,也可以填域名。配置完重启docker,重新拉取镜像即可。在部署应用的时候添加对应的serviceaccount,如下。除了上述方法也可以通过指定用户名密码直接创建secret。最后在部署应用的添加imagePullSecrets
为了监控需求,对k8s集群的prometheus版本进行了升级,升级之后发现pod启动失败,查看原因如下:提示opening storage failed: block dir: “prometheus/01EVH85VNH9Mxxxxxx/meta.json: no such file or directory”数据采用pv形式挂载nfs进行持久化,进入存储卷报错的目录查看发现为空目录,刚开始以
k8s集群可以通过设置节点污点和pod容忍度来避免或者指定pod调度到目标节点。给节点设置污点kubectl taint nodes nodename key=value:effect其中value值可以省略,effect有三个值可以选,分别是NoSchedule,NoExecute,PreSchedule。去点污点kubectl taint nodes nodename key:effect-N
在k8s中集群中赋予用户进入容器以及向容器中拷贝文件的权限,自定义clusterrole如下:apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata:name: system:unzip-adminrules:- apiGroups:- ""resources:- pods/execverbs:- get- list- w
节点压力驱逐是 kubelet 主动终止 Pod 以回收节点上资源的过程。当这些资源中的一个或者多个达到特定的消耗水平, kubelet 可以主动地使节点上的 Pod 失效,以回收资源。只有在没有更改任何参数的情况下,硬驱逐阈值才会被设置成这些默认值。如果你更改了任何参数的值,则其他参数的取值不会继承其默认值设置,而将被设置为零。如果回收节点级资源的尝试没有满足需求,kubelet 会根据所有容器
当更新deployment时,会先创建1个新的pod,然后删除一个旧的pod,然后再创建一个新的pod,再删除一个旧的pod,始终保持2-3个pod可用。那么当更新deployment时,会先删除一个pod,然后创建一个新的pod,接着删除一个旧的pod,再创建一个新的pod,始终保持1-2个pod可用。更新时,会同时创建一半新的pod,删除一半旧的pod,再同时创建一半新的pod,删除一半旧的p
访问kubelet接口的认证和授权
项目组在自动化更新service的yaml时,遇到如下报错提示必须指定metadata.resourceVersion字段,查看k8s官网中更新service的示例如下:$ curl -X PUT -H 'Content-Type: application/yaml' --data 'apiVersion: v1kind: Servicemetadata:name: deployment-exam
k8s中配置pod的liveness探针,启动报错
部署在k8s集群中的应用,有些需要拥有访问k8s API服务器的权限,比如说获取当前命名空间下的pod,svc等资源。k8s通过RBAC规则来赋予用户、pod、组相应的权限。其中pod使用一种称为service accounts的机制,下面我们来实践如何为pod中的应用添加权限。首先需要在命名空间中创建serviceaccount资yaml详细内容如下:接着创建role(角色),role中包含角色