户外旅游 功课
- 关于制氧
zerotier how to
checklist
apiserver的ha domain: k8s<ClusterName>ce k8sprod1ce
ctrlNode(cNode)的hostname: k8s<ClusterName>c<number>
k8sprod1c1 k8sprod1c2 k8sprod1c3workNode(wNode)的hostname: k8s<ClusterName>w<letter>
k8sprod1wa k8sprod1wb k8sprod1wck8s_init_controlnode k8sprod1ce k8sprod1c1
k8s_init_controlnode k8sprod1ce k8sprod1c2
cmd runtime( runc, crun)
daemon runtime( containerd+ctr ) How to work with container images using ctr
image builder(buildah) Use Buildah to Build OCI Container Images
daemon image builder(buildkit+buildctl)
image regitry server(zot, docker regstry)
image pull/push(skopeo)
single mgr(nerdctl, docker)
cluster mgr(kubernetes+kubectl)
network(flannel, calico, )
network service mesh(linkerd2,)
https://github.com/kubeedge/kubeedge huawei k8s (cloud edge, iot extend) opensource item
port | module | desc |
---|---|---|
10250 | kubelet | kubelet api |
10248 | kubelet | health check:healthz |
10255 | kubelet | kubelet readonly info api,can use without auth |
4194 | cAdvisor |
check ## memory section in NotesLinux.md
container images list: kubectl get nodes -o jsonpath='{range .items[\*]}{.metadata.name}{"\n"}{range .status.images[\*]}{"\t"}{.names[\0]}{"\n"}{end}{end}'
check system memory: cat /proc/meminfo | grep '^(MemFree:|Cached:|Shmem:|Buffers:|SReclaimable|Slab:)'
root cgroup check: cat /sys/fs/cgroup/memory.stat| grep '^(cache |rss |inactive_file |active_file |SReclaimable|Slab:)'
cgroup memory check
alias cgcheck='function cgcheck_fn() (cd /sys/fs/cgroup/$(cat /proc/$(pgrep ${1})/cgroup | sed "s@^[^/]*/@@") && echo pid:$(pgrep ${1}) && pwd && echo "can:cat memory.stat,exit,ls,..." && bash ); cgcheck_fn'
cgcreate -g memory:test-docker-memory
docker run --cgroup-parent=/test-docker-memory --net=none -v /root/test_mem:/test -idt --name test --privileged csighub.tencentyun.com/admin/tlinux2.2-bridge-tcloud-underlay:latest
systemd sysemd
control-plane-node-communication
生成统一的/etc/kubernetes/pki/kubelet-ca.{crt,key}
所有的node上的原有的selfsign(/var/lib/kubelet/pki/kubelet.{crt,key})替换为由 /etc/kubernetes/pki/kubelet-ca.{crt,key}签发的新crt,key
memory free > echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf ‘\n%s\n’ ‘Ram-cache and Swap Cleared’
kubeadm certs check-expiration
kubeadm certs renew all
#verify cert chain
openssl verify -CAfile /etc/kubernetes/pki/etcd/{ca.crt,ca.crt,healthcheck-client.crt,peer.crt,server.crt} #etcd-ca
openssl verify -CAfile /etc/kubernetes/pki/{front-proxy-ca.crt,front-proxy-ca.crt,front-proxy-client.crt} #front-proxy-ca
openssl verify -CAfile /etc/kubernetes/pki/{ca.crt,ca.crt,apiserver.crt,apiserver-kubelet-client.crt}
openssl verify -CAfile /var/lib/kubelet/pki/kubelet.crt{,}
control pane certiciate(ca.{crt,key} etcd-ca.{crt,key} front-proxy-ca.{crt,key} sa.key sa.pub)
#regenerate apiserver.crt with new certSANs item
#mv /etc/kubernetes/pki/apiserver.{crt,key} /tmp/
kubeadm init phase certs apiserver #this ok for most case
kubeadm init phase certs apiserver --config <(kubectl -n kube-system get configmap kubeadm-config -o jsonpath='{.data.ClusterConfiguration}'| sed 's@^apiServer:@&\n certSANs:\n - "ctrlpe.local"@')
#check certSAN for apiserver.crt openssl x509 -in=/etc/kubernetes/pki/apiserver.crt -text | grep -A 1 "Subject Alternative Name"
* kube-apiserver --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
* --kubelet-certificate-authority=
* why kubelet serve cert need a certSANs(host list)
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
echo subjectAltName = IP:worker_node_ip >? hostSANs_file.cnf
openssl x509 -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile hostSANs_file.cnf
* journalctl -xe --unit kubelet
* kubectl describe nodes
* kubectl get nodes
* kubectl -n kube-public get cm cluster-info -o yaml
* kubectl -n kube-system get cm kubeadm-config -o yaml
* kubectl cluster-info dump
* find ip define in kubernetes> grep -r '\.[0-9]\{1,3\}\/[0-9]\{1,2\}' /var/lib/kubelet/ /etc/kubernetes/
kubectl logs podName | tail -f /var/log/pods/kube-system_coredns-5dd5756b68-5wp4j_456bf805-a764-4874-b168-3c832d21241b/coredns/161.log
* systemd service file ref: github:kubespray: *.service.j2
* let control-pane can get pod task(action like work pane): kubectl taint nodes nodeName1 node-role.kubernetes.io/control-plane:NoSchedule-
* pod ip range need be diff form service ip range
* --pod-network-cidr @ kubeadm init --help
* podSubnet @/etc/kubernetes/kubeadm-config.yaml
* cluster-cidr: @/etc/kubernetes/kubeadm-config.yaml
* clusterCIDR @/etc/kubernetes/kubeadm-config.yaml
* --service-cidr @ kubeadm init --help #(default "10.96.0.0/12")
* serviceSubnet @/etc/kubernetes/kubeadm-config.yaml
* serviceSubnet @kubectl -n kube-system get cm kubeadm-config -o yaml
* --service-cluster-ip-range @/etc/kubernetes/manifests/kube-apiserver.yaml
mkdir -p -m 755 /etc/apt/keyrings
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
systemctl stop kubelet
/etc/kubernetes:
admin.conf calico-crb.yml controller-manager.conf kubeadm-config.yaml manifests
calico-ipamconfig.yml kubeadm-images.yaml kubelet.env node-crb.yml ssl
calico-config.yml calico-node-sa.yml k8s-cluster-critical-pc.yml kubelet-config.yaml kubernetes-services-endpoint.yml pki tmp
calico-cr.yml calico-node.yml kdd-crds.yml kubelet.conf kubescheduler-config.yaml scheduler.conf
/etc/kubernetes/manifests/:
etcd.yaml kube-apiserver.yaml kube-controller-manager.yaml kube-scheduler.yaml
/var/lib/kubelet/:
config.yaml cpu_manager_state device-plugins kubeadm-flags.env memory_manager_state pki plugins plugins_registry pod-resources pods
/etc/cni/net.d/:
10-calico.conflist calico-kubeconfig calico.conflist.template nerdctl-bridge.conflist nerdctl-dkfile_default.conflist nerdctl-prometheus-pushgateway_default.conflist nerdctl-rtorrent_default.conflist
cat /etc/cni/net.d/10-containerd-net.conflist
{
"cniVersion": "1.0.0",
"name": "containerd-net",
"plugins": [
{
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"promiscMode": true,
"ipam": {
"type": "host-local",
"ranges": [
[{
"subnet": "10.244.0.0/16"
}],
[{
"subnet": "2001:4860:4860::/64"
}]
],
"routes": [
{ "dst": "0.0.0.0/0" },
{ "dst": "::/0" }
]
}
},
{
"type": "portmap",
"capabilities": {"portMappings": true}
}
]
}
/etc/kubernetes/admin.conf:kind: Config
/etc/kubernetes/calico-config.yml:kind: ConfigMap
/etc/kubernetes/calico-cr.yml:kind: ClusterRole
/etc/kubernetes/calico-crb.yml: kind: ClusterRole
/etc/kubernetes/calico-crb.yml:- kind: ServiceAccount
/etc/kubernetes/calico-crb.yml:kind: ClusterRoleBinding
/etc/kubernetes/calico-ipamconfig.yml:kind: IPAMConfig
/etc/kubernetes/calico-node-sa.yml:kind: ServiceAccount
/etc/kubernetes/calico-node.yml:kind: DaemonSet
/etc/kubernetes/controller-manager.conf:kind: Config
/etc/kubernetes/k8s-cluster-critical-pc.yml:kind: PriorityClass
/etc/kubernetes/kdd-crds.yml: kind: ""
/etc/kubernetes/kdd-crds.yml: kind: BGPConfiguration
/etc/kubernetes/kdd-crds.yml: kind: BGPPeer
/etc/kubernetes/kdd-crds.yml: kind: BlockAffinity
/etc/kubernetes/kdd-crds.yml: kind: CalicoNodeStatus
/etc/kubernetes/kdd-crds.yml: kind: ClusterInformation
/etc/kubernetes/kdd-crds.yml: kind: FelixConfiguration
/etc/kubernetes/kdd-crds.yml: kind: GlobalNetworkPolicy
/etc/kubernetes/kdd-crds.yml: kind: GlobalNetworkSet
/etc/kubernetes/kdd-crds.yml: kind: HostEndpoint
/etc/kubernetes/kdd-crds.yml: kind: IPAMBlock
/etc/kubernetes/kdd-crds.yml: kind: IPAMConfig
/etc/kubernetes/kdd-crds.yml: kind: IPAMHandle
/etc/kubernetes/kdd-crds.yml: kind: IPPool
/etc/kubernetes/kdd-crds.yml: kind: IPReservation
/etc/kubernetes/kdd-crds.yml: kind: KubeControllersConfiguration
/etc/kubernetes/kdd-crds.yml: kind: NetworkPolicy
/etc/kubernetes/kdd-crds.yml: kind: NetworkSet
/etc/kubernetes/kdd-crds.yml:kind: CustomResourceDefinition
/etc/kubernetes/kubeadm-config.yaml:kind: ClusterConfiguration
/etc/kubernetes/kubeadm-config.yaml:kind: InitConfiguration
/etc/kubernetes/kubeadm-config.yaml:kind: KubeProxyConfiguration
/etc/kubernetes/kubeadm-config.yaml:kind: KubeletConfiguration
/etc/kubernetes/kubeadm-images.yaml:kind: ClusterConfiguration
/etc/kubernetes/kubeadm-images.yaml:kind: InitConfiguration
/etc/kubernetes/kubelet-config.yaml:kind: KubeletConfiguration
/etc/kubernetes/kubelet.conf:kind: Config
/etc/kubernetes/kubernetes-services-endpoint.yml:kind: ConfigMap
/etc/kubernetes/kubescheduler-config.yaml:kind: KubeSchedulerConfiguration
/etc/kubernetes/manifests/etcd.yaml:kind: Pod
/etc/kubernetes/manifests/kube-apiserver.yaml:kind: Pod
/etc/kubernetes/manifests/kube-controller-manager.yaml:kind: Pod
/etc/kubernetes/manifests/kube-scheduler.yaml:kind: Pod
/etc/kubernetes/node-crb.yml: kind: ClusterRole
/etc/kubernetes/node-crb.yml: kind: Group
/etc/kubernetes/node-crb.yml:kind: ClusterRoleBinding
/etc/kubernetes/scheduler.conf:kind: Config
coredns
extension-apiserver-authentication
kube-apiserver-legacy-service-account-token-tracking
kube-proxy #KubeProxyConfiguration
kube-root-ca.crt
kubeadm-config #ClusterConfiguration
kubelet-config #KubeletConfiguration
kubectl apply -f https://kubernetes.io/examples/controllers/frontend.yaml kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml kubectl apply -f https://kubernetes.io/examples/pods/pod-rs.yaml kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
kubeadm config(k8s_init_cfg&k8s_cluster_cfg helper)
kubeadm kubeconfig(kube_access_cfg helper)
kube_access_cfg(--kubeconfig): include info(CACert,APIServer,ClientName,TokenAuth,ClientCertAuth)
k8s_init_cfg(--config):
'kubeadm init' == 'kubeadm init --config <(kubeadm config print init-defaults)', but you can edit output of 'kubeadm config print init-defaults' for custom init
k8s_cluster_cfg:
kubelet config:
ip route add 0/0 via 192.168.1.1
route add 10.2.100.0 mask 255.255.255.0 192.168.2.230
#/usr/sbin/ip -6 addr add '2402:4e00:1701:ea00:0:98f9:46b2:d3d3/64' dev eth0
#/usr/sbin/ip -6 route add default via 2402:4e00:1701:ea00::0 dev eth0
iproute del local $IPV6ADDR dev eth0
iproute add local $IPV6ADDR dev eth0
route add -net 10.0.0.0/8 dev eth0.2 gw 192.168.2.6
route del default
route delete -net 45.78.6.36 netmask 255.255.255.255
route add default gw 192.168.1.1
route add default gw 192.168.1.1 dev br-lan
route add default dev wireguard
-n:(show ip or show name)
sudo route -n delete -net 0.0.0.0
sudo route -n add -net 0.0.0.0 192.168.1.1
sudo route -n add -net 0.0.0.0 192.168.123.198
sudo route -n add -net 10.2.100.0 192.168.2.230 255.255.255.0
sudo route -n delete -net 10.2.100.0
ipconfig /flushdns
ifconfig eth0 192.168.1.67/24
echo "nameserver 61.139.2.69" > /etc/resolv.conf
Generation | Radio Technology | Base Station Name |
---|---|---|
2G | GSM | BTS (Base Transceiver Station) |
3G | UMTS | NodeB |
4G | LTE | eNB, Evolved NodeB |
5G | NR:New Radio | gNB, Next Generation NodeB |
The mean most commonly refers to the arithmetic mean, but may refer to some other form of mean, such as harmonic or geometric (see the Wikipedia article). Thus, when used without qualification, I think most people would assume that "mean" refers to the arithmetic mean.
Average has many meanings, some of which are much less mathematical than the term "mean". Even within the context of numerical summaries, "average" can refer to a broad range of measures of central tendency.
Thus, the arithmetic mean is one type of average. Arguably, when used without qualification the average of a numeric variable often is meant to refer to the arithmetic mean.
http://cp.cloudflare.com/generate_204
https://img.alicdn.com/a
https://img.alicdn.com/b
https://img.alicdn.com/c
https://img.alicdn.com/d
https://img.alicdn.com/e
https://img.alicdn.com/generate_204
https://img.alicdn.com/test #response.body == test
https://i.ytimg.com/generate_204
https://connectivitycheck.platform.hicloud.com/generate_204
https://connectivitycheck.platform.hihonorcloud.com/generate_204
http://wifi.vivo.com.cn/generate_204
http://connectivitycheck.cbg-app.huawei.com/generate_204
http://connect.rom.miui.com/generate_204
https://www.google.com/gen_204
https://www.google.com/generate_204
https://www.v2ex.com/generate_204
http://www.qualcomm.cn/generate_204
http://www.gstatic.com/generate_204
http://clients3.google.com/generate_204
http://www.apple.com/library/test/success
http://connectivitycheck.android.com/generate_204
http://connectivitycheck.gstatic.com/generate_204
http://fireoscaptiveportal.com/generate_204
http://freetimecaptiveportal.com/generate_204
http://gateway.zscalerthree.net/generate_204
http://gateway.zscloud.net/generate_204
http://g.cn/generate_204
http://play.googleapis.com/generate_204
http://speedtest-global.spatialbuzz.net/generate_204
http://tabletcaptiveportal.com/generate_204
http://www.google.cn/generate_204
http://www.msftncsi.com/ncsi.txt
http://captive.roku.com/ok
http://www.appleiphonecell.com
http://captive.apple.com
http://detectportal.firefox.com/success.txt
http://www.msftconnecttest.com/connecttest.txt
http://www.youtube.com/generate_204
https://translate.google.cn/generate_204
https://gw.alicdn.com/bao/uploaded/LB1bC41LVXXXXcGXFXXXXXXXXXX.mp4
http://steamusercontent-a.akamaihd.net/rangecheck 2M
https://cdn.akamai.steamstatic.com/steam/apps/5952/movie_max.webm
https://cdn.cloudflare.steamstatic.com/steam/apps/5952/movie_max.webm
https://github.com/search?q=word2id+batch_size+seq_len+zip_longest&ref=opensearch&type=code
https://community.openai.com/t/foundational-must-read-gpt-llm-papers/197003
https://community.openai.com/t/foundational-must-read-gpt-llm-papers/197003
torch.tensor([[1,2,4,5]])
weights = torch.rand(10, 3)
net = torch.nn.liner(10,2)
print(net,net.h)
torch.mm