K8s POD 的运维

88 阅读1分钟

本人已参与[新人创作礼] 活动,一起开启掘金创作之路

POD 特权模式

有时候pod中无法使用root权限的命令和程序,比如ifconfig等网络操作命令,这个时候可以修改ymal文件 新增如下配置:

containers:

- name: $PODNAME
  image: hub.xyz.blocal/cloud/centos7ssh:1.0
  command: ["..."]
  securityContext:
    privileged: true
    
    
    

POD 进入pod的netns配置nfv功能

获取pod的Container ID

#kubectl describe pod fe -n fe

Containers:

fe:

Container ID:   docker://9dd4171e55f8f12fb72ba539c5147c891b9d07827845024a6636f745d34fc953
Image:          hub.baymax.oppo.local/cloud/centos7ssh:1.0
Image ID:       docker-xxxxxxx

....... 获取容器的Pid docker inspect 9dd4171e55f8f12fb72ba539c5147c891b9d07827845024a6636f745d34fc953

[ { ... ], "State": {

        "Status": "running",
        
        "Running": true,
        
        "Paused": false,
        
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        **"Pid": 479428,**
        "ExitCode": 0,
        "Error": "",
        "StartedAt": "2022-02-22T09:42:16.375956412Z",
        "FinishedAt": "0001-01-01T00:00:00Z"

进入pod的网络空间

nsenter -n --target 479428

ip r

default via 192.168.30.1 dev eth0

192.168.30.0/24 dev eth0 proto kernel scope link src 192.168.30.3

linux 给一个网卡配置多个地址方法:

#ifconfig eth0:1 192.168.30.4/24

#ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
   valid_lft forever preferred_lft forever

505: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

link/ether fa:16:2f:46:10:de brd ff:ff:ff:ff:ff:ff
inet 192.168.30.3/24 scope global eth0
   valid_lft forever preferred_lft forever
inet 192.168.30.4/24 brd 192.168.30.255 scope global secondary eth0:1
   valid_lft forever preferred_lft forever