Tôi muốn đặt tên máy chủ trong một thùng chứa đang chạy bên trong Kubernetes, nhưng Kubernetes dường như sẽ ghi đè bất kỳ thứ gì tôi đặt trong thời gian chạy.Đặt tên máy chủ cho một thùng chứa đang chạy trong Kubernetes
Tôi đã thử cả hai thiết lập/etc/hostname trong hình ảnh docker Tôi đang sử dụng Kubernetes và bao gồm echo "host.example.com > /etc/hostname"
trong CMD trong Dockerfile.
Dường như có cờ đế chế -h
để đặt tên máy chủ. Có cách nào cho tôi để xác định trong bộ điều khiển nhân rộng của tôi rằng nó sẽ bắt đầu container với một lá cờ đặc biệt?
Debian của bộ chứa, nếu nó giúp.
Nếu tôi cố gắng sử dụng lệnh 'hostname', tôi nhận được lỗi' tên máy chủ: bạn phải là người chủ để thay đổi tên máy chủ lưu trữ', mặc dù điều này nằm trong vùng chứa đang chạy như uid 0. Tôi đã thử sửa đổi '/ etc/hostname' và'/etc/hosts' làm trang bạn đã liên kết để gợi ý, nhưng tên máy chủ vẫn là thứ mà nó được đặt bởi Kubernetes. Tôi đáng chú ý là không thể chạy lệnh 'sudo service hostname restart' từ trang, nhưng có một'/etc/init.d/hostname.sh'. Tôi không thể sử dụng 'khởi động lại', như' đối số 'khởi động lại' không được hỗ trợ', và khi tôi sử dụng 'bắt đầu' tôi nhận được lỗi tương tự như với lệnh' hostname'. –
Bạn sẽ cần phải sử dụng sudo ở phía trước của lệnh hostname. Mặc dù container chính nó đang chạy như 'uid: 0' trên cây quá trình của máy chủ, các dịch vụ trong vùng chứa có các vùng người dùng riêng của họ (ít nhất đó là cách tôi nghĩ về nó). 'Sudo hostname host.example.com' có hoạt động không? – edhurtig
Mọi thứ đang chạy dưới uid 0 trong vùng chứa của tôi, vì vậy 'sudo' sẽ không thay đổi gì cả. Bất kể tôi đã cài đặt sudo và chạy 'sudo hostname -b webauth-kube.csh.rit.edu'. Tôi đã nhận được lỗi 'tên máy chủ: bạn phải được root để thay đổi tên máy chủ' một lần nữa. –