基于centos7安装k8s集群之安装flannel组件
[root@node-k8s-01 ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlUnable to connect to the server: read tcp 192.168.32.132:51060->185.199.
·
[root@node-k8s-01 ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Unable to connect to the server: read tcp 192.168.32.132:51060->185.199.108.133:443: read: connection reset by peer
[root@node-k8s-01 ~]# cat <<EOF > 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
> # Users and groups
> runAsUser:
> rule: RunAsAny
> supplementalGroups:
> rule: RunAsAny
> fsGroup:
> rule: RunAsAny
> # Privilege Escalation
> allowPrivilegeEscalation: false
> defaultAllowPrivilegeEscalation: false
> # Capabilities
> allowedCapabilities: ['NET_ADMIN']
> defaultAddCapabilities: []
> requiredDropCapabilities: []
> # Host namespaces
> hostPID: false
> hostIPC: false
> hostNetwork: true
> hostPorts:
> - min: 0
> max: 65535
> # SELinux
> seLinux:
> # SELinux is unused in CaaSP
> rule: 'RunAsAny'
> ---
> kind: ClusterRole
> apiVersion: rbac.authorization.k8s.io/v1beta1
> metadata:
> name: flannel
> rules:
> - apiGroups: ['extensions']
> resources: ['podsecuritypolicies']
> verbs: ['use']
> resourceNames: ['psp.flannel.unprivileged']
> - apiGroups:
> - ""
> resources:
> - pods
> verbs:
> - get
> - apiGroups:
> - ""
> resources:
> - nodes
> verbs:
> - list
> - watch
> - apiGroups:
> - ""
> resources:
> - nodes/status
> verbs:
> - patch
> ---
> kind: ClusterRoleBinding
> apiVersion: rbac.authorization.k8s.io/v1beta1
> metadata:
> name: flannel
> roleRef:
> apiGroup: rbac.authorization.k8s.io
> kind: ClusterRole
> name: flannel
> subjects:
> - kind: ServiceAccount
> name: flannel
> namespace: kube-system
> ---
> apiVersion: v1
> kind: ServiceAccount
> metadata:
> name: flannel
> namespace: kube-system
> ---
> kind: ConfigMap
> apiVersion: v1
> metadata:
> name: kube-flannel-cfg
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> data:
> cni-conf.json: |
> {
> "name": "cbr0",
> "cniVersion": "0.3.1",
> "plugins": [
> {
> "type": "flannel",
> "delegate": {
> "hairpinMode": true,
> "isDefaultGateway": true
> }
> },
> {
> "type": "portmap",
> "capabilities": {
> "portMappings": true
> }
> }
> ]
> }
> net-conf.json: |
> {
> "Network": "10.244.0.0/16",
> "Backend": {
> "Type": "vxlan"
> }
> }
> ---
> apiVersion: apps/v1
> kind: DaemonSet
> metadata:
> name: kube-flannel-ds-amd64
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> spec:
> selector:
> matchLabels:
> app: flannel
> template:
> metadata:
> labels:
> tier: node
> app: flannel
> spec:
> affinity:
> nodeAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> nodeSelectorTerms:
> - matchExpressions:
> - key: beta.kubernetes.io/os
> operator: In
> values:
> - linux
> - key: beta.kubernetes.io/arch
> operator: In
> values:
> - amd64
> hostNetwork: true
> tolerations:
> - operator: Exists
> effect: NoSchedule
> serviceAccountName: flannel
> initContainers:
> - name: install-cni
> image: quay.io/coreos/flannel:v0.11.0-amd64
> command:
> - cp
> args:
> - -f
> - /etc/kube-flannel/cni-conf.json
> - /etc/cni/net.d/10-flannel.conflist
> volumeMounts:
> - name: cni
> mountPath: /etc/cni/net.d
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> containers:
> - name: kube-flannel
> image: quay.io/coreos/flannel:v0.11.0-amd64
> command:
> - /opt/bin/flanneld
> args:
> - --ip-masq
> - --kube-subnet-mgr
> resources:
> requests:
> cpu: "100m"
> memory: "50Mi"
> limits:
> cpu: "100m"
> memory: "50Mi"
> securityContext:
> privileged: false
> capabilities:
> add: ["NET_ADMIN"]
> env:
> - name: POD_NAME
> valueFrom:
> fieldRef:
> fieldPath: metadata.name
> - name: POD_NAMESPACE
> valueFrom:
> fieldRef:
> fieldPath: metadata.namespace
> volumeMounts:
> - name: run
> mountPath: /run/flannel
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> volumes:
> - name: run
> hostPath:
> path: /run/flannel
> - name: cni
> hostPath:
> path: /etc/cni/net.d
> - name: flannel-cfg
> configMap:
> name: kube-flannel-cfg
> ---
> apiVersion: apps/v1
> kind: DaemonSet
> metadata:
> name: kube-flannel-ds-arm64
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> spec:
> selector:
> matchLabels:
> app: flannel
> template:
> metadata:
> labels:
> tier: node
> app: flannel
> spec:
> affinity:
> nodeAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> nodeSelectorTerms:
> - matchExpressions:
> - key: beta.kubernetes.io/os
> operator: In
> values:
> - linux
> - key: beta.kubernetes.io/arch
> operator: In
> values:
> - arm64
> hostNetwork: true
> tolerations:
> - operator: Exists
> effect: NoSchedule
> serviceAccountName: flannel
> initContainers:
> - name: install-cni
> image: quay.io/coreos/flannel:v0.11.0-arm64
> command:
> - cp
> args:
> - -f
> - /etc/kube-flannel/cni-conf.json
> - /etc/cni/net.d/10-flannel.conflist
> volumeMounts:
> - name: cni
> mountPath: /etc/cni/net.d
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> containers:
> - name: kube-flannel
> image: quay.io/coreos/flannel:v0.11.0-arm64
> command:
> - /opt/bin/flanneld
> args:
> - --ip-masq
> - --kube-subnet-mgr
> resources:
> requests:
> cpu: "100m"
> memory: "50Mi"
> limits:
> cpu: "100m"
> memory: "50Mi"
> securityContext:
> privileged: false
> capabilities:
> add: ["NET_ADMIN"]
> env:
> - name: POD_NAME
> valueFrom:
> fieldRef:
> fieldPath: metadata.name
> - name: POD_NAMESPACE
> valueFrom:
> fieldRef:
> fieldPath: metadata.namespace
> volumeMounts:
> - name: run
> mountPath: /run/flannel
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> volumes:
> - name: run
> hostPath:
> path: /run/flannel
> - name: cni
> hostPath:
> path: /etc/cni/net.d
> - name: flannel-cfg
> configMap:
> name: kube-flannel-cfg
> ---
> apiVersion: apps/v1
> kind: DaemonSet
> metadata:
> name: kube-flannel-ds-arm
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> spec:
> selector:
> matchLabels:
> app: flannel
> template:
> metadata:
> labels:
> tier: node
> app: flannel
> spec:
> affinity:
> nodeAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> nodeSelectorTerms:
> - matchExpressions:
> - key: beta.kubernetes.io/os
> operator: In
> values:
> - linux
> - key: beta.kubernetes.io/arch
> operator: In
> values:
> - arm
> hostNetwork: true
> tolerations:
> - operator: Exists
> effect: NoSchedule
> serviceAccountName: flannel
> initContainers:
> - name: install-cni
> image: quay.io/coreos/flannel:v0.11.0-arm
> command:
> - cp
> args:
> - -f
> - /etc/kube-flannel/cni-conf.json
> - /etc/cni/net.d/10-flannel.conflist
> volumeMounts:
> - name: cni
> mountPath: /etc/cni/net.d
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> containers:
> - name: kube-flannel
> image: quay.io/coreos/flannel:v0.11.0-arm
> command:
> - /opt/bin/flanneld
> args:
> - --ip-masq
> - --kube-subnet-mgr
> resources:
> requests:
> cpu: "100m"
> memory: "50Mi"
> limits:
> cpu: "100m"
> memory: "50Mi"
> securityContext:
> privileged: false
> capabilities:
> add: ["NET_ADMIN"]
> env:
> - name: POD_NAME
> valueFrom:
> fieldRef:
> fieldPath: metadata.name
> - name: POD_NAMESPACE
> valueFrom:
> fieldRef:
> fieldPath: metadata.namespace
> volumeMounts:
> - name: run
> mountPath: /run/flannel
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> volumes:
> - name: run
> hostPath:
> path: /run/flannel
> - name: cni
> hostPath:
> path: /etc/cni/net.d
> - name: flannel-cfg
> configMap:
> name: kube-flannel-cfg
> ---
> apiVersion: apps/v1
> kind: DaemonSet
> metadata:
> name: kube-flannel-ds-ppc64le
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> spec:
> selector:
> matchLabels:
> app: flannel
> template:
> metadata:
> labels:
> tier: node
> app: flannel
> spec:
> affinity:
> nodeAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> nodeSelectorTerms:
> - matchExpressions:
> - key: beta.kubernetes.io/os
> operator: In
> values:
> - linux
> - key: beta.kubernetes.io/arch
> operator: In
> values:
> - ppc64le
> hostNetwork: true
> tolerations:
> - operator: Exists
> effect: NoSchedule
> serviceAccountName: flannel
> initContainers:
> - name: install-cni
> image: quay.io/coreos/flannel:v0.11.0-ppc64le
> command:
> - cp
> args:
> - -f
> - /etc/kube-flannel/cni-conf.json
> - /etc/cni/net.d/10-flannel.conflist
> volumeMounts:
> - name: cni
> mountPath: /etc/cni/net.d
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> containers:
> - name: kube-flannel
> image: quay.io/coreos/flannel:v0.11.0-ppc64le
> command:
> - /opt/bin/flanneld
> args:
> - --ip-masq
> - --kube-subnet-mgr
> resources:
> requests:
> cpu: "100m"
> memory: "50Mi"
> limits:
> cpu: "100m"
> memory: "50Mi"
> securityContext:
> privileged: false
> capabilities:
> add: ["NET_ADMIN"]
> env:
> - name: POD_NAME
> valueFrom:
> fieldRef:
> fieldPath: metadata.name
> - name: POD_NAMESPACE
> valueFrom:
> fieldRef:
> fieldPath: metadata.namespace
> volumeMounts:
> - name: run
> mountPath: /run/flannel
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> volumes:
> - name: run
> hostPath:
> path: /run/flannel
> - name: cni
> hostPath:
> path: /etc/cni/net.d
> - name: flannel-cfg
> configMap:
> name: kube-flannel-cfg
> ---
> apiVersion: apps/v1
> kind: DaemonSet
> metadata:
> name: kube-flannel-ds-s390x
> namespace: kube-system
> labels:
> tier: node
> app: flannel
> spec:
> selector:
> matchLabels:
> app: flannel
> template:
> metadata:
> labels:
> tier: node
> app: flannel
> spec:
> affinity:
> nodeAffinity:
> requiredDuringSchedulingIgnoredDuringExecution:
> nodeSelectorTerms:
> - matchExpressions:
> - key: beta.kubernetes.io/os
> operator: In
> values:
> - linux
> - key: beta.kubernetes.io/arch
> operator: In
> values:
> - s390x
> hostNetwork: true
> tolerations:
> - operator: Exists
> effect: NoSchedule
> serviceAccountName: flannel
> initContainers:
> - name: install-cni
> image: quay.io/coreos/flannel:v0.11.0-s390x
> command:
> - cp
> args:
> - -f
> - /etc/kube-flannel/cni-conf.json
> - /etc/cni/net.d/10-flannel.conflist
> volumeMounts:
> - name: cni
> mountPath: /etc/cni/net.d
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> containers:
> - name: kube-flannel
> image: quay.io/coreos/flannel:v0.11.0-s390x
> command:
> - /opt/bin/flanneld
> args:
> - --ip-masq
> - --kube-subnet-mgr
> resources:
> requests:
> cpu: "100m"
> memory: "50Mi"
> limits:
> cpu: "100m"
> memory: "50Mi"
> securityContext:
> privileged: false
> capabilities:
> add: ["NET_ADMIN"]
> env:
> - name: POD_NAME
> valueFrom:
> fieldRef:
> fieldPath: metadata.name
> - name: POD_NAMESPACE
> valueFrom:
> fieldRef:
> fieldPath: metadata.namespace
> volumeMounts:
> - name: run
> mountPath: /run/flannel
> - name: flannel-cfg
> mountPath: /etc/kube-flannel/
> volumes:
> - name: run
> hostPath:
> path: /run/flannel
> - name: cni
> hostPath:
> path: /etc/cni/net.d
> - name: flannel-cfg
> configMap:
> name: kube-flannel-cfg
> EOF
[root@node-k8s-01 ~]# kubectl apply -f kube-flannel.yml
podsecuritypolicy.policy/psp.flannel.unprivileged created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds-amd64 created
daemonset.apps/kube-flannel-ds-arm64 created
daemonset.apps/kube-flannel-ds-arm created
daemonset.apps/kube-flannel-ds-ppc64le created
daemonset.apps/kube-flannel-ds-s390x created
更多推荐
已为社区贡献4条内容
所有评论(0)