使用kubectl get pods -n kube-system 查看如下
coredns 一直是pending 。
经查阅资料发现coredns 最大可能是缺少网络插件导致,本文选择kube-flannel.yml方式来安装
创建文件 kube-flannel.yml,将下面内容复制并保存
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: psp.flannel.unprivileged
annotations:
seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default
seccomp.security.alpha.kubernetes.io/defaultProfileName: docker/default
apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default
apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
spec:
privileged: false
volumes:
- configMap
- secret
- emptyDir
- hostPath
allowedHostPaths: - pathPrefix: “/etc/cni/net.d”
- pathPrefix: “/etc/kube-flannel”
- pathPrefix: “/run/flannel”
readOnlyRootFilesystem: false
runAsUser:
rule: RunAsAny
supplementalGroups:
rule: RunAsAny
fs

文章描述了如何通过在kube-system中安装kube-flannel网络插件来解决coreDNS服务pending的问题,涉及PodSecurityPolicy、ClusterRole、ClusterRoleBinding和DaemonSet的配置过程。
最低0.47元/天 解锁文章
2004





