开发 Tips(13)

主要记录最近遇到的一些开发问题,解决方法。

1. NodePort 服务仅指定 Node 可以访问

通过 NodePort 暴露的服务,在集群外可以使用 Kubernetes 任意 Node IP 加端口的形式访问。kube-proxy 会将访问流量以轮询的方式转发给 service 中的每个 Pod。但是,发现并不是每一个 Node IP 加端口都可以访问,仅运行 Pod 的 Node 可以。原因是,任意 Node IP 加端口访问,是通过主机间通信实现的。但是 docker 1.13 版本之后对 iptables 规则进行了改动,默认禁用了 FORWARD 。查看 iptables 规则:

相关推荐

站点声明:本站部分内容转载自网络,作品版权归原作者及来源网站所有,任何内容转载、商业用途等均须联系原作者并注明来源。

相关侵权、举报、投诉及建议等,请发邮件至E-mail:service@mryunwei.com

回到顶部
1
2
3
4
5
iptables -L -n

...
Chain FORWARD (policy DROP)
...
iptables -P FORWARD ACCEPT
kubectl exec -it {POD_NAME} -c {CONTAINER_NAME} -n {NAMESPACE_NAME} sh
kubectl get pod -n monitor

monitor       prometheus-alertmanager-5bc4ccf9df-xmt7c         2/2     Running   6          3d23h
kubectl log prometheus-alertmanager-5bc4ccf9df-xmt7c -n monitor

log is DEPRECATED and will be removed in a future version. Use logs instead.
Error from server (BadRequest): a container name must be specified for pod prometheus-alertmanager-5bc4ccf9df-xmt7c, choose one of: [prometheus-alertmanager prometheus-alertmanager-configmap-reload]
kubectl get pvc -A | awk '{print $2}' |grep   {KEYWORD} |xargs kubectl delete pvc -n 
{NAME_SPACE}
helm install --name nfs-client --set nfs.server=192.168.13.20 --set nfs.path=/data stable/nfs-client-provisioner
helm repo add stable https://charts.helm.sh/stable
helm install nfs-client stable/nfs-client-provisioner --set nfs.server=192.168.13.20 --set nfs.path=/data
kubectl get sc

nfs-client        cluster.local/nfs-client-nfs-client-provisioner   18s
kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc1
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi
kubectl create -f pvc.yaml
kubectl get pvc

NAME   STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pvc1   Bound    pvc-24e4dfc1-cb8b-444b-8e3c-36ec8350df3c   30Gi       RWX            nfs-client     2m