K8S小记

linux内核参数

kubelet默认使用的cgroupDriver是systemd,docker也需要设置为相同的参数

  • docker安装后会自动启用ip_forward、自动加载br_netfilter
[root@master ~]# lsmod  | grep br_netfilter
br_netfilter           22256  0 
bridge                151336  1 br_netfilter
[root@master ~]# cat /proc/sys/net/ipv4/ip_forward
1
  • kubernetes初始化之后会自动启用ipvs相关的内核参数
[root@master ~]# lsmod | grep ip_vs
ip_vs_sh               12688  0 
ip_vs_wrr              12697  0 
ip_vs_rr               12600  0 
ip_vs                 145497  6 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack          133095  7 ip_vs,nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4
libcrc32c              12644  4 xfs,ip_vs,nf_nat,nf_conntrack
  • bridge相关内核参数需要手动配置,同时需要禁用swap
[root@master ~]# cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness = 0
EOF
[root@master ~]# sysctl --system
[root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-iptables 
1
[root@master ~]# cat /proc/sys/net/bridge/bridge-nf-call-ip6tables 
1
[root@master ~]# cat /proc/sys/vm/swappiness 
0

kubernetes配置文件(YAML)

字段参考:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.20/#podspec-v1-core

主体内容

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: pod1
  name: pod1
spec:
  containers:
  - image: nginx
    name: pod1
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Always

version可以通过kubectl api-resources命令来查看对象的版本
可以使用kubectl explain pod.spec.containers.volumeMounts查看具体的参数

posted @ 2021-05-22 10:26  西伯利亚狼666  阅读(63)  评论(0)    收藏  举报