问题1:
虽然每次通过yaml创建rc都显示成功了,但是
kubectl get pod却没显示任何的pod.
问题2:
直接通过yaml创建pod提示apixxx
问题3:
通过.json文件创建pod
未验证
原因是身份认证
解决方法有两种,我用的第一种:
1.跳过认证
http://www.sunmite.com/linux/installing-kubernetes-cluster-on-centos7-to-manage-pods-and-services/
创建pod:
# kubectl create -f nginx.yaml
此时有如下报错:
Error from server: error when creating "nginx.yaml": Pod "nginx" is forbidden: no API token found for service account default/default, retry after the token is automatically created and added to the service account
解决办法是编辑/etc/kubernetes/apiserver 去除 KUBE_ADMISSION_CONTROL中的SecurityContextDeny,ServiceAccount,并重启kube-apiserver.service服务:
#vim /etc/kubernetes/apiserver
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
#systemctl restart kube-apiserver.service
之后重新创建pod:
# kubectl create -f nginx.yaml
pods/nginx
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
2.解决认证
To get your setup working, you can do the same thing local-up-cluster.sh is doing:
Generate a signing key:
openssl genrsa -out /tmp/serviceaccount.key 2048
Update /etc/kubernetes/apiserver:
KUBE_API_ARGS=”–service_account_key_file=/tmp/serviceaccount.key”
Update /etc/kubernetes/controller-manager:
KUBE_CONTROLLER_MANAGER_ARGS=”–service_account_private_key_file=/tmp/serviceaccount.key”
From https://github.com/kubernetes/kubernetes/issues/11355#issuecomment-127378691
完了之后可以看到pod了,但是发现是挂起状态,pending,于是查了下发现是因为无法从gcr.io拉取pause0.8.0的镜像。那么很简单 就找个可用的镜像拉取即可。
Docker pull docker.io/kubernetes/pause
现在再来看看pod:
OK了!。至此,问题解决。
http://blog.csdn.net/jinzhencs/article/details/51435020
相关推荐
- RC是K8s早期用于维护Pod副本数量的一个控制器,确保即使有Pod意外终止,也会自动创建新的Pod来替换,从而维持设定的副本数。 - RC通过单一的标签选择器来关联Pod,确保服务的高可用性。 2. **ReplicaSet(RS)*...
- **Unknown**:由于网络或其他问题,无法获取Pod的状态。 2. **健康检查**: - **LivenessProbe**:用于检测容器是否仍然在正常运行。如果探测失败,kubelet会杀死容器并根据重启策略处理。 - **ReadinessProbe...
Kubernetes,简称K8S,是一种流行的容器编排系统,用于自动化容器化应用的部署、扩展和管理。在Kubernetes中,Pod是最基本的部署单元,它承载了一个或多个紧密关联的容器,这些容器共享同一个网络命名空间和存储资源...
简述Kubernetes RC的机制? 5 简述Kubernetes Replica Set 和 Replication Controller 之间有什么区别? 6 简述kube-proxy作用? 6 简述kube-proxy iptables原理? 6 简述kube-proxy ipvs原理? 6 简述kube-proxy ...
3. **健康检查和自修复**:Kubernetes会定期检查Pod的健康状态,如果检测到异常,它会自动重启故障容器,甚至重新调度到其他健康的节点上。 4. **自动扩容缩容**:Horizontal Pod Autoscaler (HPA)可以根据CPU或...
Kubernetes API Server 提供了 Kubernetes 各类资源对象如 Pod、RC、Service 等的增、删、改、查以及 watch 等接口,是集群各个功能模块之间数据交互和通信中心的枢纽。API Server 是集群管理的 API 入口,是资源...
1. `create`: 使用 `create` 命令可以创建 Kubernetes 资源,如 Pod、Service、Deployment 等。例如,创建一个 Pod 可以使用 `kubectl create -f pod.yaml`,其中 `pod.yaml` 是包含 Pod 定义的 YAML 文件。 2. `...
- Pod和Service的高可用性:利用ReplicationControllers(RC)和Scheduler确保Pod的高可用调度。 - Master组件的多实例化:创建多个Master节点实例,并使用负载均衡器来分发请求。 - 节点高可用:确保Node节点也是...
一开始是按照Kubernetes权威指南书中P6的步骤搭建环境,但是按步骤完成后通过rc文件创建pod时发现rc一直处于DESIRED状态,current和ready都为0,网上的包括修改镜像仓库,添加阿里云加速器的方法都尝试了,并没有...
它确保指定数量的Pod副本始终可用,即使在某些Pod因故障或其他原因消失时,RC也会自动创建新的Pod来替代。尽管Deployment现在更常用于Pod的管理,它实际上是在后台通过ReplicaSet来实现Pod的复制和更新。Deployment...
# 设置名为 nginx 的 Deployment 自动缩放范围为 1 至 10 个 Pod,并且 CPU 使用率超过 50% 时触发。 kubectl autoscale deployment nginx --min=1 --max=10 --cpu-percent=50 ``` #### 五、kubectl convert `...
emptyDir在Pod分配到Node上时创建,当Pod从节点上移除时,emptyDir中的数据会被永久删除。hostPath则是将主机节点上的目录挂载到Pod中,它常用于存储需要持久化的数据。 动态存储分配是Kubernetes管理存储的一种...
- 例如,如果设置了3个副本,则Kubernetes会自动创建或销毁Pod来保持该数目。 **2. Pod:** - Kubernetes中最基本的可调度单元。 - 一个Pod可以包含一个或多个容器。 - 使用YAML文件定义Pod结构,并通过`kubectl ...
弹性扩/缩容可以实现自动扩展和缩减 Pod 的数量。 升级/回滚 升级/回滚是指 Deployment 将 Pod 升级到最新版本或回滚到以前的版本的过程。升级/回滚可以实现快速回滚和恢复。 暂停/恢复 暂停/恢复是指 ...
ReplicaSet是升级版的ReplicationController(RC),它会定期检测当前存活的Pod数量,并根据设定的副本数量自动增减Pod数量,以保证集群内始终有指定数量的Pod在运行。ReplicaSet支持基于等式的selector(如env=dev...